Skip to content

Commit 6496ec4

Browse files
auge2uclaude
andcommitted
feat: complete all phases - editor, git, templates, quality, memory, distribution
Phase 2: Core Components - Editor skill: VS Code/Cursor settings, extensions, keybindings - Git skill: pre-commit hooks, commit templates, PR templates - Templates skill: CLAUDE.md templates for 6 project types, .claude/ scaffolds Phase 3: Advanced Components - Quality skill: enforcement levels, CI workflows, review checklists - Memory skill: context management, session export, project memory Phase 4: Distribution - install.sh: cross-platform fallback installer with bundle selection - Update skill: version checking, rollback support Phase 5: Polish - GitHub Actions: release automation, CI validation - Documentation: testing guide, troubleshooting, contributing guidelines 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 202b32f commit 6496ec4

17 files changed

Lines changed: 4048 additions & 56 deletions

File tree

.github/pull_request_template.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
## Summary
2+
3+
<!-- Brief description of changes -->
4+
5+
## Type of Change
6+
7+
- [ ] Bug fix
8+
- [ ] New feature
9+
- [ ] Documentation update
10+
- [ ] Refactoring
11+
- [ ] Other: ___
12+
13+
## Components Affected
14+
15+
- [ ] Shell
16+
- [ ] Editor
17+
- [ ] Git
18+
- [ ] Templates
19+
- [ ] Quality
20+
- [ ] Memory
21+
- [ ] Main installer
22+
- [ ] install.sh
23+
- [ ] Documentation
24+
25+
## Testing Performed
26+
27+
- [ ] Tested on macOS
28+
- [ ] Tested on Linux
29+
- [ ] Tested greenfield mode (fresh system)
30+
- [ ] Tested adaptation mode (existing setup)
31+
- [ ] Verified component works end-to-end
32+
33+
## Checklist
34+
35+
- [ ] Skill follows standard format (frontmatter, sections)
36+
- [ ] Commands are idempotent (safe to run twice)
37+
- [ ] Adaptation mode handles existing configs
38+
- [ ] Verification steps included
39+
- [ ] CHANGELOG.md updated (if applicable)
40+
41+
## Additional Notes
42+
43+
<!-- Any context, screenshots, or related issues -->

.github/workflows/ci.yml

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
validate:
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- name: Checkout
15+
uses: actions/checkout@v4
16+
17+
- name: Validate JSON files
18+
run: |
19+
echo "Validating registry.json..."
20+
python3 -m json.tool registry.json > /dev/null
21+
echo "✓ registry.json is valid"
22+
23+
- name: Validate skill frontmatter
24+
run: |
25+
echo "Validating skill files..."
26+
for skill in skills/SKILL.md skills/*/SKILL.md; do
27+
if [ -f "$skill" ]; then
28+
echo " Checking: $skill"
29+
30+
# Check frontmatter exists
31+
if ! head -1 "$skill" | grep -q "^---$"; then
32+
echo " ✗ Missing opening frontmatter"
33+
exit 1
34+
fi
35+
36+
# Check frontmatter closes
37+
if ! head -10 "$skill" | tail -n +2 | grep -q "^---$"; then
38+
echo " ✗ Missing closing frontmatter"
39+
exit 1
40+
fi
41+
42+
# Check name field exists
43+
if ! grep -q "^name:" "$skill"; then
44+
echo " ✗ Missing name field"
45+
exit 1
46+
fi
47+
48+
# Check description field exists
49+
if ! grep -q "^description:" "$skill"; then
50+
echo " ✗ Missing description field"
51+
exit 1
52+
fi
53+
54+
echo " ✓ Valid"
55+
fi
56+
done
57+
echo "All skills validated!"
58+
59+
- name: Validate install.sh syntax
60+
run: |
61+
echo "Validating install.sh..."
62+
bash -n install.sh
63+
echo "✓ install.sh syntax is valid"
64+
65+
- name: Check for common issues
66+
run: |
67+
echo "Checking for common issues..."
68+
69+
# Check for TODO/FIXME that should be resolved
70+
if grep -rn "TODO\|FIXME" skills/ --include="*.md" | grep -v "TODO/FIXME"; then
71+
echo "Warning: Found TODO/FIXME comments in skills"
72+
fi
73+
74+
# Check for broken internal links
75+
for file in skills/*/SKILL.md; do
76+
if grep -oP '\[.*?\]\((?!http).*?\)' "$file" 2>/dev/null; then
77+
echo "Note: Found internal links in $file - verify they work"
78+
fi
79+
done
80+
81+
echo "✓ Checks complete"
82+
83+
test-install:
84+
runs-on: ${{ matrix.os }}
85+
strategy:
86+
matrix:
87+
os: [ubuntu-latest, macos-latest]
88+
89+
steps:
90+
- name: Checkout
91+
uses: actions/checkout@v4
92+
93+
- name: Test install.sh --help
94+
run: |
95+
chmod +x install.sh
96+
./install.sh --help
97+
98+
- name: Test install.sh dry run (non-interactive)
99+
run: |
100+
# Just validate it starts without errors
101+
# Don't actually install (would modify system)
102+
timeout 5 ./install.sh --non-interactive --bundle minimal 2>&1 | head -20 || true
103+
echo "Install script executed without syntax errors"

.github/workflows/release.yml

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
8+
permissions:
9+
contents: write
10+
11+
jobs:
12+
release:
13+
runs-on: ubuntu-latest
14+
15+
steps:
16+
- name: Checkout
17+
uses: actions/checkout@v4
18+
19+
- name: Validate version
20+
run: |
21+
VERSION=${GITHUB_REF#refs/tags/v}
22+
echo "VERSION=$VERSION" >> $GITHUB_ENV
23+
24+
# Check registry.json matches tag
25+
REGISTRY_VERSION=$(cat registry.json | grep -o '"schema_version"[^,]*' | cut -d'"' -f4)
26+
echo "Registry schema version: $REGISTRY_VERSION"
27+
28+
- name: Generate changelog
29+
id: changelog
30+
run: |
31+
# Extract changelog section for this version
32+
if [ -f CHANGELOG.md ]; then
33+
CHANGES=$(sed -n "/^## \[${VERSION}\]/,/^## \[/p" CHANGELOG.md | head -n -1)
34+
else
35+
CHANGES="Release v${VERSION}"
36+
fi
37+
38+
# Write to file for release body
39+
echo "$CHANGES" > /tmp/release-notes.md
40+
41+
- name: Create Release
42+
uses: softprops/action-gh-release@v1
43+
with:
44+
body_path: /tmp/release-notes.md
45+
draft: false
46+
prerelease: ${{ contains(github.ref, '-beta') || contains(github.ref, '-alpha') }}
47+
files: |
48+
install.sh
49+
registry.json
50+
env:
51+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
52+
53+
validate:
54+
runs-on: ubuntu-latest
55+
56+
steps:
57+
- name: Checkout
58+
uses: actions/checkout@v4
59+
60+
- name: Validate install.sh
61+
run: |
62+
# Check script is valid bash
63+
bash -n install.sh
64+
65+
# Check it's executable
66+
test -x install.sh || chmod +x install.sh
67+
68+
- name: Validate registry.json
69+
run: |
70+
# Check JSON is valid
71+
cat registry.json | python3 -m json.tool > /dev/null
72+
73+
- name: Validate skill files
74+
run: |
75+
# Check all skill files exist and have frontmatter
76+
for skill in skills/*/SKILL.md; do
77+
if [ -f "$skill" ]; then
78+
echo "Validating: $skill"
79+
head -1 "$skill" | grep -q "^---$" || { echo "Missing frontmatter: $skill"; exit 1; }
80+
fi
81+
done
82+
83+
echo "All skills validated"

CHANGELOG.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# Changelog
2+
3+
All notable changes to Claude Dev Kit will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [Unreleased]
9+
10+
## [1.0.0] - 2024-XX-XX
11+
12+
### Added
13+
14+
#### Core Components
15+
- **Shell** (`setup-cdk-shell`): Zsh, Oh My Zsh, Powerlevel10k, MesloLGS NF fonts, Claude aliases
16+
- **Editor** (`setup-cdk-editor`): VS Code/Cursor settings, extensions, keybindings
17+
- **Git** (`setup-cdk-git`): Pre-commit hooks, commit templates, PR templates, branch helpers
18+
- **Templates** (`setup-cdk-templates`): CLAUDE.md templates for 6 project types, .claude/ scaffolds
19+
20+
#### Advanced Components
21+
- **Quality** (`setup-cdk-quality`): Enforcement levels, CI workflows, review checklists
22+
- **Memory** (`setup-cdk-memory`): Context management, session export, project memory patterns
23+
24+
#### Distribution
25+
- **Main installer** (`setup-claude-dev-kit`): Bundle selection, environment detection
26+
- **Fallback installer** (`install.sh`): Non-Claude installation script
27+
- **Update mechanism** (`update-claude-dev-kit`): Version checking, rollback support
28+
29+
#### Infrastructure
30+
- GitHub Actions CI/CD workflows
31+
- Contributing guidelines
32+
- Comprehensive documentation
33+
34+
### Installation Modes
35+
- **Greenfield**: Opinionated defaults for fresh systems
36+
- **Adaptation**: Respectful merging for existing setups
37+
38+
### Bundles
39+
- **minimal**: Shell only
40+
- **standard**: Shell, Editor, Git, Templates
41+
- **full**: All components including Quality and Memory
42+
43+
---
44+
45+
## Version History
46+
47+
| Version | Date | Highlights |
48+
|---------|------|------------|
49+
| 1.0.0 | TBD | Initial release with all core components |

0 commit comments

Comments
 (0)