Skip to content

Commit 2e0779e

Browse files
sjnimsclaude
andauthored
chore: prepare release v0.1.0 (#141)
## Summary Prepare the initial v0.1.0 release of the Plugin Development Toolkit. ## Changes - **CHANGELOG.md**: Populated with comprehensive v0.1.0 release notes covering all features: - 8 specialized skills - 3 validation agents - 2 workflow commands - 14 CI/CD workflows - Utility scripts - Documentation and infrastructure - **CLAUDE.md**: Added release procedure documentation: - Version Files section documenting sync points - 6-step Version Release Procedure - Updated Quick Reference to link to CHANGELOG.md - **README.md**: Added changelog section: - "Changelog" entry in Table of Contents - New Changelog section linking to CHANGELOG.md ## Checklist - [x] Version synced in plugin.json, marketplace.json, CLAUDE.md (all at 0.1.0) - [x] CHANGELOG.md populated with release notes - [x] Release procedure documented in CLAUDE.md - [x] Markdownlint passes - [x] README updated with changelog link 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
1 parent ba16fb1 commit 2e0779e

File tree

3 files changed

+245
-1
lines changed

3 files changed

+245
-1
lines changed

CHANGELOG.md

Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,110 @@ All notable changes to this project will be documented in this file.
44

55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [Unreleased]
9+
10+
## [0.1.0] - 2025-12-11
11+
12+
### Added
13+
14+
- **Initial release** of Plugin Development Toolkit for Claude Code
15+
16+
#### Core Plugin Features
17+
18+
- **8 specialized skills** with progressive disclosure architecture:
19+
- `hook-development` - Event-driven automation with prompt-based hooks
20+
- `mcp-integration` - Model Context Protocol server configuration
21+
- `plugin-structure` - Directory layout and manifest configuration
22+
- `plugin-settings` - Configuration via .claude/plugin-name.local.md files
23+
- `command-development` - Slash commands with frontmatter
24+
- `agent-development` - Autonomous agents with AI-assisted generation
25+
- `skill-development` - Creating skills with progressive disclosure
26+
- `marketplace-structure` - Plugin marketplace creation and distribution
27+
28+
- **3 validation agents** for automated quality assurance:
29+
- `plugin-validator` - Validates entire plugin structure and marketplace.json
30+
- `skill-reviewer` - Reviews skill quality, triggering reliability, and best practices
31+
- `agent-creator` - Generates new agents from natural language descriptions
32+
33+
- **2 guided workflow commands**:
34+
- `/plugin-dev:create-plugin` - 8-phase guided workflow for plugin creation
35+
- `/plugin-dev:create-marketplace` - 8-phase guided workflow for marketplace creation
36+
37+
#### Utility Scripts
38+
39+
- **Agent development scripts**:
40+
- `create-agent-skeleton.sh` - Create new agent skeleton files
41+
- `validate-agent.sh` - Validate agent frontmatter and structure
42+
- `test-agent-trigger.sh` - Test agent trigger phrase matching
43+
44+
- **Command development scripts**:
45+
- `validate-command.sh` - Validate command structure
46+
- `check-frontmatter.sh` - Check frontmatter field validity
47+
48+
- **Hook development scripts**:
49+
- `validate-hook-schema.sh` - Validate hooks.json schema
50+
- `test-hook.sh` - Test hooks with sample input
51+
- `hook-linter.sh` - Lint hook shell scripts
52+
53+
- **Plugin settings scripts**:
54+
- `validate-settings.sh` - Validate settings file structure
55+
- `parse-frontmatter.sh` - Parse YAML frontmatter from settings
56+
57+
#### CI/CD Workflows
58+
59+
- **PR validation workflows** (6 workflows):
60+
- `markdownlint.yml` - Markdown style enforcement
61+
- `links.yml` - Link validation with lychee
62+
- `component-validation.yml` - Plugin component validation
63+
- `version-check.yml` - Version consistency across manifests
64+
- `validate-workflows.yml` - GitHub Actions workflow validation
65+
- `claude-pr-review.yml` - AI-powered code review
66+
67+
- **Automation workflows** (8 workflows):
68+
- `claude.yml` - Main Claude Code workflow
69+
- `stale.yml` - Stale issue/PR management
70+
- `semantic-labeler.yml` - Automatic PR/issue labeling
71+
- `ci-failure-analysis.yml` - CI failure analysis
72+
- `weekly-maintenance.yml` - Scheduled maintenance tasks
73+
- `dependabot-auto-merge.yml` - Dependabot PR auto-merge
74+
- `sync-labels.yml` - Repository label synchronization
75+
- `greet.yml` - New contributor welcome messages
76+
77+
#### Documentation
78+
79+
- **User documentation**:
80+
- `README.md` - Comprehensive user guide with installation, usage examples, and best practices
81+
- `CONTRIBUTING.md` - Contributor guidelines and development setup
82+
- `SECURITY.md` - Security policy and vulnerability reporting
83+
- `CODE_OF_CONDUCT.md` - Community standards and expectations
84+
85+
- **Developer documentation**:
86+
- `CLAUDE.md` - Architecture, patterns, and development guide
87+
- Skill-specific references and examples in each skill directory
88+
89+
#### Repository Infrastructure
90+
91+
- **Issue templates** (4 types):
92+
- Bug report with reproduction steps
93+
- Feature request with use cases
94+
- Documentation improvements
95+
- Questions and discussions
96+
97+
- **Pull request template** with component-specific checklists
98+
99+
- **Label system** with categories:
100+
- Component labels (agent, command, skill, hook, docs)
101+
- Priority labels (critical, high, medium, low)
102+
- Status labels (blocked, in-progress, needs-review)
103+
- Effort labels (small, medium, large)
104+
105+
- **Dependabot** configured for GitHub Actions updates
106+
107+
#### Attribution
108+
109+
- Based on original plugin by Daisy Hollman at Anthropic
110+
- Expanded with enhanced skills, additional utilities, and CI/CD infrastructure
111+
112+
[Unreleased]: https://github.com/sjnims/plugin-dev/compare/v0.1.0...HEAD
113+
[0.1.0]: https://github.com/sjnims/plugin-dev/releases/tag/v0.1.0

CLAUDE.md

Lines changed: 133 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ This repository is a **plugin marketplace** containing the **plugin-dev** plugin
88

99
## Quick Reference
1010

11-
**Current Version**: v0.1.0 (synced in `plugin.json`, `marketplace.json`, and this file)
11+
**Current Version**: v0.1.0 (see [CHANGELOG.md](CHANGELOG.md) for release history)
1212

1313
## Repository Structure
1414

@@ -235,3 +235,135 @@ Use these agents proactively after creating components:
235235
- `dependabot-auto-merge.yml` - Auto-merges dependabot PRs
236236
- `sync-labels.yml` - Synchronizes repository labels
237237
- `greet.yml` - Greets new contributors
238+
239+
## Publishing & Version Management
240+
241+
### Version Files
242+
243+
Version must be synchronized across these files on release:
244+
245+
- `plugins/plugin-dev/.claude-plugin/plugin.json` (source of truth)
246+
- `.claude-plugin/marketplace.json` (metadata.version AND plugins[0].version)
247+
- `CLAUDE.md` (Quick Reference section)
248+
249+
```bash
250+
# Verify version consistency
251+
rg '"version"' plugins/plugin-dev/.claude-plugin/plugin.json .claude-plugin/marketplace.json
252+
rg 'Current Version.*v[0-9]' CLAUDE.md
253+
```
254+
255+
### Version Release Procedure
256+
257+
When releasing a new version (e.g., v0.x.x), follow this procedure:
258+
259+
#### 1. Create Release Branch
260+
261+
```bash
262+
# Ensure main is up to date
263+
git checkout main
264+
git pull origin main
265+
266+
# Create release branch
267+
git checkout -b release/v0.x.x
268+
```
269+
270+
#### 2. Update Version Numbers
271+
272+
Update version in **all version files** (must match):
273+
274+
- `plugins/plugin-dev/.claude-plugin/plugin.json` (source of truth)
275+
- `.claude-plugin/marketplace.json` (metadata.version AND plugins[0].version)
276+
- `CLAUDE.md` (Quick Reference section)
277+
278+
```bash
279+
# Find current version to replace
280+
rg '"version"' plugins/plugin-dev/.claude-plugin/plugin.json
281+
282+
# Update all version files, then verify
283+
rg '"version"' plugins/plugin-dev/.claude-plugin/plugin.json .claude-plugin/marketplace.json
284+
rg 'Current Version.*v[0-9]' CLAUDE.md
285+
```
286+
287+
#### 3. Update Documentation
288+
289+
- `CHANGELOG.md` - Add release notes following Keep a Changelog format:
290+
1. Review commits since last release: `git log v0.x.x..HEAD --oneline`
291+
2. Organize into sections: Added, Changed, Fixed, Security, Performance, Documentation
292+
3. Group related changes and reference PR numbers
293+
4. Add version comparison links at bottom of file
294+
- `README.md` - Update version references if applicable
295+
- Any other relevant documentation
296+
297+
#### 4. Test and Validate
298+
299+
```bash
300+
# Lint markdown files
301+
markdownlint '**/*.md' --ignore node_modules
302+
303+
# Verify version consistency
304+
rg '"version"' plugins/plugin-dev/.claude-plugin/plugin.json .claude-plugin/marketplace.json
305+
rg 'Current Version.*v[0-9]' CLAUDE.md
306+
307+
# Load plugin locally and test
308+
cc --plugin-dir plugins/plugin-dev
309+
310+
# Test skills load correctly by asking trigger questions
311+
# Test workflow commands: /plugin-dev:create-plugin, /plugin-dev:create-marketplace
312+
# Test agents trigger appropriately
313+
```
314+
315+
#### 5. Commit and Create PR
316+
317+
```bash
318+
# Commit version bump and documentation updates
319+
git add .
320+
git commit -m "chore: prepare release v0.x.x"
321+
322+
# Push release branch
323+
git push origin release/v0.x.x
324+
325+
# Create pull request
326+
gh pr create --title "chore: prepare release v0.x.x" \
327+
--body "Version bump to v0.x.x
328+
329+
## Changes
330+
- [List major changes]
331+
- [List bug fixes]
332+
- [List documentation updates]
333+
334+
## Checklist
335+
- [x] Version updated in plugin.json, marketplace.json, CLAUDE.md
336+
- [x] CHANGELOG.md updated with release notes
337+
- [x] Markdownlint passes
338+
- [x] Plugin tested locally
339+
"
340+
```
341+
342+
#### 6. Merge and Create Release
343+
344+
After PR review and approval:
345+
346+
```bash
347+
# Merge PR via GitHub UI or:
348+
gh pr merge --squash # or --merge or --rebase based on preference
349+
350+
# Create GitHub Release (this also creates the tag atomically)
351+
gh release create v0.x.x \
352+
--target main \
353+
--title "v0.x.x" \
354+
--notes-file - <<'EOF'
355+
## Summary
356+
357+
Brief description of the release focus.
358+
359+
## What's Changed
360+
361+
[Copy relevant sections from CHANGELOG.md]
362+
363+
**Full Changelog**: https://github.com/sjnims/plugin-dev/compare/v0.x-1.x...v0.x.x
364+
EOF
365+
```
366+
367+
**Note**: Main branch is protected and requires PRs. All version bumps must go through the release branch workflow. The `--target main` flag ensures the tag is created on the correct commit.
368+
369+
**Publishing**: The entire repository acts as a marketplace. The `plugins/plugin-dev/` directory is the distributable plugin unit.

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ A comprehensive toolkit for developing Claude Code plugins with expert guidance
2727
- [Contributing](#contributing)
2828
- [Getting Help](#getting-help)
2929
- [Attribution](#attribution)
30+
- [Changelog](#changelog)
3031
- [License](#license)
3132

3233
## Overview
@@ -337,6 +338,10 @@ This repository ([sjnims/plugin-dev](https://github.com/sjnims/plugin-dev)) is a
337338
- CI/CD workflows for validation and quality assurance
338339
- Improved cross-references between skills
339340
341+
## Changelog
342+
343+
See [CHANGELOG.md](CHANGELOG.md) for release history and version details.
344+
340345
## License
341346
342347
MIT License - See [LICENSE](LICENSE) for details

0 commit comments

Comments
 (0)