Skip to content

Commit 5f6efdc

Browse files
committed
feat: add initial version
0 parents  commit 5f6efdc

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+5425
-0
lines changed
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
---
2+
name: Bug Report
3+
about: Create a report to help us improve
4+
title: '[BUG] '
5+
labels: bug
6+
assignees: ''
7+
---
8+
9+
## Bug Description
10+
A clear and concise description of what the bug is.
11+
12+
## To Reproduce
13+
Steps to reproduce the behavior:
14+
1. Run command '...'
15+
2. See error
16+
17+
## Expected Behavior
18+
A clear and concise description of what you expected to happen.
19+
20+
## Actual Behavior
21+
What actually happened instead.
22+
23+
## Error Messages
24+
```text
25+
Paste any error messages here
26+
```
27+
28+
## System Information
29+
- OS: [e.g., Windows 11, macOS 14, Ubuntu 22.04]
30+
- PowerShell Version: [run `$PSVersionTable`]
31+
- Node.js Version: [run `node --version`]
32+
- Git Version: [run `git --version`]
33+
- Claude Code Version: [run `claude --version`]
34+
35+
## Diagnostic Output
36+
Please run and paste output:
37+
```bash
38+
claude doctor --verbose
39+
```
40+
41+
## Additional Context
42+
Add any other context about the problem here.
43+
44+
## Possible Solution
45+
If you have suggestions on how to fix the issue.
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
---
2+
name: Feature Request
3+
about: Suggest an idea for this project
4+
title: '[FEATURE] '
5+
labels: enhancement
6+
assignees: ''
7+
---
8+
9+
## Feature Description
10+
A clear and concise description of what you want to happen.
11+
12+
## Problem It Solves
13+
Describe the problem or limitation this feature would address.
14+
15+
## Proposed Solution
16+
Describe how you envision this feature working.
17+
18+
## Alternatives Considered
19+
Describe any alternative solutions or features you've considered.
20+
21+
## Use Cases
22+
Provide examples of how this feature would be used:
23+
1.
24+
2.
25+
3.
26+
27+
## Additional Context
28+
Add any other context, mockups, or examples about the feature request here.
29+
30+
## Would you be willing to contribute this feature?
31+
- [ ] Yes, I can implement this
32+
- [ ] Yes, I can help test it
33+
- [ ] No, but I can provide more details if needed

.github/workflows/lint.yml

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
name: Lint and Validate
2+
3+
on:
4+
pull_request:
5+
workflow_dispatch:
6+
7+
permissions:
8+
contents: read
9+
10+
jobs:
11+
powershell:
12+
name: PowerShell Script Analysis
13+
if: ${{ ! startsWith(github.head_ref, 'release-please--branches--') }}
14+
runs-on: windows-latest
15+
16+
steps:
17+
- uses: actions/checkout@v4
18+
19+
- name: Install PSScriptAnalyzer
20+
shell: powershell
21+
run: |
22+
Set-PSRepository PSGallery -InstallationPolicy Trusted
23+
Install-Module -Name PSScriptAnalyzer -Force -Scope CurrentUser
24+
25+
- name: Run PSScriptAnalyzer
26+
shell: powershell
27+
run: |
28+
$results = Invoke-ScriptAnalyzer -Path ./scripts/windows -Recurse -ReportSummary
29+
if ($results) {
30+
$results | Format-Table -AutoSize
31+
throw "PSScriptAnalyzer found issues"
32+
}
33+
Write-Host "PowerShell scripts passed analysis" -ForegroundColor Green
34+
35+
shellcheck:
36+
name: Shell Script Analysis
37+
runs-on: ubuntu-latest
38+
39+
steps:
40+
- uses: actions/checkout@v4
41+
42+
- name: Run ShellCheck
43+
uses: ludeeus/action-shellcheck@master
44+
with:
45+
scandir: './scripts'
46+
ignore_paths: 'scripts/windows'
47+
severity: warning
48+
49+
markdown:
50+
name: Markdown Lint
51+
runs-on: ubuntu-latest
52+
53+
steps:
54+
- uses: actions/checkout@v4
55+
56+
- name: Run markdownlint
57+
uses: DavidAnson/markdownlint-cli2-action@v16
58+
with:
59+
globs: |
60+
**/*.md
61+
!node_modules/**
62+
63+
json-yaml:
64+
name: JSON/YAML Validation
65+
runs-on: ubuntu-latest
66+
67+
steps:
68+
- uses: actions/checkout@v4
69+
70+
- name: Validate JSON files
71+
run: |
72+
find . -name "*.json" -type f -not -path "./node_modules/*" | while read file; do
73+
echo "Validating $file"
74+
python -m json.tool "$file" > /dev/null || exit 1
75+
done
76+
echo "All JSON files are valid"
77+
78+
- name: Setup Python
79+
uses: actions/setup-python@v5
80+
with:
81+
python-version: '3.x'
82+
83+
- name: Validate YAML files
84+
run: |
85+
pip install pyyaml
86+
find . -name "*.yml" -o -name "*.yaml" -type f -not -path "./node_modules/*" | while read file; do
87+
echo "Validating $file"
88+
python -c "import yaml; yaml.safe_load(open('$file'))" || exit 1
89+
done
90+
echo "All YAML files are valid"
91+
92+
security:
93+
name: Security Scan
94+
runs-on: ubuntu-latest
95+
96+
steps:
97+
- uses: actions/checkout@v4
98+
99+
- name: Run Trivy security scanner
100+
uses: aquasecurity/trivy-action@master
101+
with:
102+
scan-type: 'fs'
103+
scan-ref: '.'
104+
format: 'sarif'
105+
output: 'trivy-results.sarif'
106+
107+
- name: Upload Trivy results to GitHub Security
108+
uses: github/codeql-action/upload-sarif@v3
109+
if: always()
110+
with:
111+
sarif_file: 'trivy-results.sarif'
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: Release Please
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
workflow_dispatch:
8+
9+
permissions:
10+
contents: write
11+
pull-requests: write
12+
13+
jobs:
14+
release-please:
15+
name: Release Please
16+
runs-on: ubuntu-latest
17+
steps:
18+
- id: release
19+
uses: googleapis/release-please-action@v4
20+
with:
21+
token: ${{ secrets.RELEASE_PLEASE_TOKEN }}
22+
config-file: release-please-config.json
23+
manifest-file: .release-please-manifest.json

.gitignore

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# Dependencies
2+
node_modules/
3+
.npm
4+
*.log
5+
6+
# OS Files
7+
.DS_Store
8+
Thumbs.db
9+
Desktop.ini
10+
11+
# IDE
12+
.vscode/
13+
.idea/
14+
*.swp
15+
*.swo
16+
*~
17+
18+
# Temporary files
19+
*.tmp
20+
*.temp
21+
.tmp/
22+
temp/
23+
24+
# Build outputs
25+
dist/
26+
build/
27+
out/
28+
29+
# Test coverage
30+
coverage/
31+
*.lcov
32+
.nyc_output
33+
34+
# Environment files
35+
.env
36+
.env.local
37+
.env.*.local
38+
39+
# Logs
40+
logs/
41+
*.log
42+
npm-debug.log*
43+
yarn-debug.log*
44+
yarn-error.log*
45+
46+
# Cache
47+
.cache/
48+
.parcel-cache/
49+
50+
# Optional npm cache directory
51+
.npm
52+
53+
# Optional eslint cache
54+
.eslintcache
55+
56+
# Backup files
57+
*.bak
58+
*.backup
59+
60+
# Local development
61+
.local/
62+
local/
63+
64+
# Generated checksums (except in release)
65+
checksums/*.sha256
66+
!checksums/.gitkeep

.markdownlint.json

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"default": true,
3+
"MD003": { "style": "atx" },
4+
"MD007": false,
5+
"MD013": false,
6+
"MD022": false,
7+
"MD024": { "siblings_only": true },
8+
"MD025": {
9+
"front_matter_title": ""
10+
},
11+
"MD029": false,
12+
"MD031": false,
13+
"MD032": false,
14+
"MD033": false,
15+
"MD040": true,
16+
"MD041": false
17+
}

.pre-commit-config.yaml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
repos:
2+
- repo: https://github.com/pre-commit/pre-commit-hooks
3+
rev: v5.0.0
4+
hooks:
5+
- id: end-of-file-fixer
6+
name: End-of-file fixer (non-Python)
7+
description: Ensures every *non-Python* file is empty or ends with a single newline
8+
exclude: ^.*\.(json|pyi?|py)$
9+
10+
- id: trailing-whitespace
11+
name: Trailing-whitespace (non-Python)
12+
description: Trims trailing whitespace in non-Python text files
13+
exclude: ^.*\.(pyi?|py)$
14+
15+
- repo: local
16+
hooks:
17+
- id: markdownlint
18+
name: Markdown Lint
19+
description: Lint markdown files
20+
entry: markdownlint-cli2
21+
language: system
22+
files: \.(md|markdown)$
23+
pass_filenames: true
24+
require_serial: true
25+
26+
- id: psscriptanalyzer
27+
name: PSScriptAnalyzer
28+
description: Lint PowerShell scripts
29+
entry: powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts/hooks/check-powershell.ps1
30+
language: system
31+
files: \.ps1$
32+
pass_filenames: true
33+
require_serial: true
34+
35+
- repo: https://github.com/shellcheck-py/shellcheck-py
36+
rev: v0.10.0.1
37+
hooks:
38+
- id: shellcheck
39+
name: Shellcheck
40+
description: Lint shell scripts
41+
types: [shell]
42+
args: [--severity=warning]
43+
44+
- repo: https://github.com/commitizen-tools/commitizen
45+
rev: v4.8.3
46+
hooks:
47+
- id: commitizen

.release-please-manifest.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
".": "0.0.0"
3+
}

CHANGELOG.md

Whitespace-only changes.

0 commit comments

Comments
 (0)