Skip to content

Commit c263f65

Browse files
sjnimsclaude
andcommitted
chore: add Serena memories, MCP config, and Node version
- Add Serena project memories (overview, commands, conventions, completion) - Add .mcp.json for MCP server configuration - Update .nvmrc to specify Node version Co-Authored-By: Claude Sonnet 4.5 (1M context) <noreply@anthropic.com>
1 parent 2447b94 commit c263f65

File tree

8 files changed

+430
-1
lines changed

8 files changed

+430
-1
lines changed

.mcp.json

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"mcpServers": {
3+
"serena": {
4+
"command": "uvx",
5+
"args": [
6+
"--from",
7+
"git+https://github.com/oraios/serena",
8+
"serena",
9+
"start-mcp-server",
10+
"--context",
11+
"claude-code",
12+
"--project",
13+
"."
14+
]
15+
}
16+
}
17+
}

.nvmrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
25.3.0
1+
25.5.0

.serena/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/cache
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
# Plugin-Dev Project Overview
2+
3+
## Purpose
4+
5+
A **plugin marketplace** containing the **plugin-dev** plugin - a comprehensive toolkit for developing Claude Code plugins. Provides 10 specialized skills, 3 agents, and 4 slash commands for building high-quality plugins and marketplaces.
6+
7+
## Version
8+
9+
Current: v0.3.4
10+
11+
## Two-Level Architecture
12+
13+
| Level | Path | Purpose |
14+
| ------ | ------------------------------------------------ | ------------------------------------ |
15+
| Root | `/.claude-plugin/marketplace.json` | Marketplace manifest listing plugins |
16+
| Plugin | `/plugins/plugin-dev/.claude-plugin/plugin.json` | Individual plugin manifest |
17+
18+
**Important**: When testing locally, point to the plugin directory:
19+
20+
```bash
21+
claude --plugin-dir plugins/plugin-dev # Correct
22+
claude --plugin-dir . # Wrong (loads marketplace)
23+
```
24+
25+
## Repository Structure
26+
27+
```
28+
plugin-dev/ # Marketplace root
29+
├── .claude-plugin/
30+
│ └── marketplace.json # Marketplace manifest
31+
├── plugins/
32+
│ └── plugin-dev/ # The actual plugin
33+
│ ├── .claude-plugin/
34+
│ │ └── plugin.json # Plugin manifest
35+
│ ├── agents/ # 3 agents
36+
│ │ ├── agent-creator.md
37+
│ │ ├── skill-reviewer.md
38+
│ │ └── plugin-validator.md
39+
│ ├── commands/ # 4 commands
40+
│ │ ├── start.md
41+
│ │ ├── create-plugin.md
42+
│ │ ├── create-marketplace.md
43+
│ │ └── plugin-dev-guide.md
44+
│ └── skills/ # 10 skills
45+
│ ├── agent-development/
46+
│ ├── command-development/
47+
│ ├── hook-development/
48+
│ ├── marketplace-structure/
49+
│ ├── mcp-integration/
50+
│ ├── plugin-settings/
51+
│ ├── plugin-structure/
52+
│ └── skill-development/
53+
└── .github/workflows/ # CI/CD workflows
54+
```
55+
56+
## Tech Stack
57+
58+
- **Content**: Primarily markdown files
59+
- **Scripts**: Bash shell scripts in `skills/*/scripts/`
60+
- **CI/CD**: GitHub Actions workflows
61+
- **Linting**: markdownlint-cli2 for markdown, prettier for formatting, shellcheck for scripts
62+
63+
## The 10 Skills
64+
65+
1. `hook-development` - Event-driven automation with prompt-based hooks
66+
2. `mcp-integration` - Model Context Protocol server configuration
67+
3. `plugin-structure` - Directory layout, manifest config, headless/CI mode, GitHub Actions, plugin caching, CLI commands
68+
4. `plugin-settings` - Configuration via .claude/plugin-name.local.md files, memory/rules system
69+
5. `command-development` - Slash commands with frontmatter
70+
6. `agent-development` - Autonomous agents with AI-assisted generation
71+
7. `skill-development` - Creating skills with progressive disclosure, model/hooks/visibility budget
72+
8. `marketplace-structure` - Plugin marketplace creation and distribution
73+
9. `lsp-integration` - Language Server Protocol server configuration
74+
10. `plugin-dev-guide` - Meta-skill for navigating plugin-dev capabilities
75+
76+
## Skill Structure (Progressive Disclosure)
77+
78+
Each skill follows this pattern:
79+
80+
- `SKILL.md` - Core content (1,500-2,500 words, lean, with brief pointers to references)
81+
- `references/` - Detailed documentation loaded as needed (800-1,500 words per file)
82+
- `examples/` - Complete working examples for copy-paste
83+
- `scripts/` - Utility scripts (executable without loading into context)
84+
85+
## Recent Enhancements (v0.3.4)
86+
87+
Added 5 new reference files from claude-docs audit:
88+
- `skill-development/references/advanced-frontmatter.md` - model, hooks, visibility budget
89+
- `plugin-structure/references/headless-ci-mode.md` - headless/CI compatibility
90+
- `plugin-structure/references/github-actions.md` - GitHub Actions integration
91+
- `plugin-settings/references/memory-rules-system.md` - CLAUDE.md, rules, hierarchy
92+
- `plugin-structure/references/advanced-topics.md` - consolidated advanced topics
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
# Style Conventions for Plugin-Dev
2+
3+
## Writing Style
4+
5+
| Context | Style |
6+
| ------------------ | -------------------------------------------------- |
7+
| Skill descriptions | Third-person ("This skill should be used when...") |
8+
| Skill body content | Imperative/infinitive form ("To create X, do Y") |
9+
| Trigger phrases | Include specific user queries in descriptions |
10+
11+
## Naming Conventions
12+
13+
- **File names**: kebab-case (e.g., `my-agent.md`, `hook-development`)
14+
- **Agent names**: kebab-case, 3-50 characters
15+
- **Skill names**: kebab-case directory names
16+
17+
## Markdown Style (from .markdownlint.json)
18+
19+
- ATX-style headers only (`#`, not underlines)
20+
- Dash-style lists (`-`, not `*` or `+`)
21+
- Fenced code blocks (not indented)
22+
- No line length limits (MD013 disabled)
23+
- 2-space indentation for nested lists
24+
- Underscores for emphasis (`_italic_`)
25+
- Asterisks for bold (`**bold**`)
26+
27+
### Allowed HTML Elements
28+
29+
`<p>`, `<img>`, `<example>`, `<commentary>`, `<details>`, `<summary>`, `<strong>`
30+
31+
## Path References
32+
33+
Always use `${CLAUDE_PLUGIN_ROOT}` for portable paths in hooks, MCP configs, and scripts.
34+
35+
## Component Frontmatter
36+
37+
### Agents (YAML)
38+
39+
```yaml
40+
name: kebab-case-name # 3-50 chars
41+
description: "Use this agent when..." # Include <example> blocks
42+
model: inherit/sonnet/opus/haiku
43+
color: blue/cyan/green/yellow/magenta/red
44+
tools: Read, Write, Edit # Optional, allowlist (comma-separated)
45+
disallowedTools: Bash, Write # Optional, denylist (use one or the other)
46+
skills: skill-name # Optional, comma-separated
47+
permissionMode: acceptEdits/dontAsk/bypassPermissions/plan # Optional
48+
```
49+
50+
### Skills (YAML)
51+
52+
```yaml
53+
name: skill-name
54+
description: "This skill should be used when..."
55+
allowed-tools: Read, Grep # Optional, for read-only workflows
56+
model: inherit/sonnet/opus/haiku # Optional
57+
hooks: # Optional, scoped to skill lifecycle
58+
PreToolUse: [...]
59+
```
60+
61+
### Commands (YAML)
62+
63+
```yaml
64+
description: Brief explanation
65+
argument-hint: placeholder # Optional
66+
allowed-tools: Tool1, Tool2 # Optional
67+
model: inherit/sonnet/opus/haiku
68+
disable-model-invocation: true/false # For workflow routing commands
69+
```
70+
71+
## Hooks Format (JSON)
72+
73+
Plugin hooks use wrapper format:
74+
75+
```json
76+
{
77+
"hooks": {
78+
"PreToolUse": [...],
79+
"Stop": [...]
80+
}
81+
}
82+
```
83+
84+
## Commit Messages
85+
86+
Follow Conventional Commits: `feat:`, `fix:`, `docs:`, `chore:`, etc.
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
# Suggested Commands for Plugin-Dev Development
2+
3+
## Testing the Plugin Locally
4+
5+
```bash
6+
# Load the plugin in Claude Code
7+
claude --plugin-dir plugins/plugin-dev
8+
9+
# Debug mode
10+
claude --debug --plugin-dir plugins/plugin-dev
11+
```
12+
13+
## Linting
14+
15+
```bash
16+
# Lint all markdown files
17+
markdownlint-cli2 '**/*.md'
18+
19+
# Format markdown files with prettier
20+
prettier --write "**/*.md"
21+
prettier --check "**/*.md"
22+
23+
# Lint shell scripts
24+
shellcheck plugins/plugin-dev/skills/*/scripts/*.sh
25+
26+
# Lint YAML files (GitHub Actions workflows)
27+
uvx yamllint .github/workflows/
28+
```
29+
30+
## Validation Scripts
31+
32+
All paths relative to `plugins/plugin-dev/`:
33+
34+
### Agent Development
35+
36+
```bash
37+
./skills/agent-development/scripts/create-agent-skeleton.sh <name> [dir]
38+
./skills/agent-development/scripts/validate-agent.sh agents/agent-name.md
39+
./skills/agent-development/scripts/test-agent-trigger.sh agents/agent-name.md
40+
```
41+
42+
### Command Development
43+
44+
```bash
45+
./skills/command-development/scripts/validate-command.sh .claude/commands/my-command.md
46+
./skills/command-development/scripts/check-frontmatter.sh .claude/commands/my-command.md
47+
```
48+
49+
### Hook Development
50+
51+
```bash
52+
./skills/hook-development/scripts/validate-hook-schema.sh hooks/hooks.json
53+
./skills/hook-development/scripts/test-hook.sh hooks/my-hook.sh input.json
54+
./skills/hook-development/scripts/hook-linter.sh hooks/my-hook.sh
55+
```
56+
57+
### Plugin Settings
58+
59+
```bash
60+
./skills/plugin-settings/scripts/validate-settings.sh .claude/plugin.local.md
61+
./skills/plugin-settings/scripts/parse-frontmatter.sh .claude/plugin.local.md
62+
```
63+
64+
## Version Verification
65+
66+
```bash
67+
# Check version consistency across files
68+
rg '"version"' plugins/plugin-dev/.claude-plugin/plugin.json .claude-plugin/marketplace.json
69+
rg 'Version.*v[0-9]' CLAUDE.md
70+
```
71+
72+
## Git Commands
73+
74+
```bash
75+
# Standard git operations work normally
76+
git status
77+
git log --oneline -10
78+
git diff
79+
```
80+
81+
## GitHub CLI
82+
83+
```bash
84+
# Create PR
85+
gh pr create --title "title" --body "body"
86+
87+
# View PR
88+
gh pr view <number>
89+
90+
# Create release
91+
gh release create v0.x.x --target main --title "v0.x.x" --notes "Release notes"
92+
```
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# What To Do When a Task is Completed
2+
3+
## Before Considering Task Complete
4+
5+
### 1. Lint and Format Markdown Files
6+
7+
```bash
8+
markdownlint-cli2 '**/*.md'
9+
prettier --check '**/*.md'
10+
prettier --write '**/*.md' # Auto-fix formatting
11+
```
12+
13+
### 2. Lint Shell Scripts (if modified)
14+
15+
```bash
16+
shellcheck plugins/plugin-dev/skills/*/scripts/*.sh
17+
```
18+
19+
### 3. Run Component Validators (if components modified)
20+
21+
For agents:
22+
23+
```bash
24+
./plugins/plugin-dev/skills/agent-development/scripts/validate-agent.sh <agent-file>
25+
```
26+
27+
For commands:
28+
29+
```bash
30+
./plugins/plugin-dev/skills/command-development/scripts/validate-command.sh <command-file>
31+
```
32+
33+
For hooks:
34+
35+
```bash
36+
./plugins/plugin-dev/skills/hook-development/scripts/validate-hook-schema.sh <hooks.json>
37+
```
38+
39+
### 4. Test Plugin Locally (for significant changes)
40+
41+
```bash
42+
claude --plugin-dir plugins/plugin-dev
43+
```
44+
45+
Test that:
46+
47+
- Skills load correctly by asking trigger questions
48+
- Commands work: `/plugin-dev:create-plugin`, `/plugin-dev:create-marketplace`
49+
- Agents trigger appropriately
50+
51+
### 5. Version Consistency (for releases)
52+
53+
```bash
54+
# Verify versions match in all files
55+
rg '"version"' plugins/plugin-dev/.claude-plugin/plugin.json .claude-plugin/marketplace.json
56+
rg 'Current Version.*v[0-9]' CLAUDE.md
57+
```
58+
59+
Version must be synchronized in:
60+
61+
- `plugins/plugin-dev/.claude-plugin/plugin.json` (source of truth)
62+
- `.claude-plugin/marketplace.json` (metadata.version AND plugins[0].version)
63+
- `CLAUDE.md` (Quick Reference section)
64+
65+
## CI Workflows That Run on PRs
66+
67+
| Changed Files | Workflow |
68+
| ---------------------- | --------------------------- |
69+
| `**.md` | markdownlint.yml, links.yml |
70+
| Plugin components | component-validation.yml |
71+
| Version files | version-check.yml |
72+
| `.github/workflows/**` | validate-workflows.yml |
73+
| All PRs (non-draft) | claude-pr-review.yml |

0 commit comments

Comments
 (0)