codeforge-dev 1.8.0 → 1.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.devcontainer/.env +3 -0
- package/.devcontainer/CHANGELOG.md +107 -0
- package/.devcontainer/CLAUDE.md +30 -9
- package/.devcontainer/README.md +61 -2
- package/.devcontainer/config/defaults/main-system-prompt.md +162 -128
- package/.devcontainer/config/defaults/rules/spec-workflow.md +75 -0
- package/.devcontainer/config/defaults/rules/workspace-scope.md +7 -0
- package/.devcontainer/config/defaults/settings.json +63 -66
- package/.devcontainer/config/file-manifest.json +30 -18
- package/.devcontainer/connect-external-terminal.sh +17 -17
- package/.devcontainer/devcontainer.json +143 -144
- package/.devcontainer/plugins/devs-marketplace/.claude-plugin/marketplace.json +104 -97
- package/.devcontainer/plugins/devs-marketplace/plugins/auto-code-quality/.claude-plugin/plugin.json +7 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/auto-code-quality/README.md +158 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/auto-code-quality/hooks/hooks.json +39 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/auto-code-quality/scripts/collect-edited-files.py +47 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/auto-code-quality/scripts/format-on-stop.py +297 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/auto-code-quality/scripts/lint-file.py +536 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/auto-code-quality/scripts/syntax-validator.py +146 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/agents/architect.md +81 -4
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/agents/debug-logs.md +18 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/agents/dependency-analyst.md +18 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/agents/doc-writer.md +89 -4
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/agents/explorer.md +18 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/agents/generalist.md +142 -8
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/agents/git-archaeologist.md +18 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/agents/migrator.md +108 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/agents/perf-profiler.md +24 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/agents/refactorer.md +97 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/agents/researcher.md +33 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/agents/security-auditor.md +24 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/agents/spec-writer.md +50 -12
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/agents/test-writer.md +96 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/hooks/hooks.json +100 -95
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/advisory-test-runner.py +186 -13
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/spec-reminder.py +122 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/skills/documentation-patterns/SKILL.md +1 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/skills/spec-check/SKILL.md +98 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/skills/spec-init/SKILL.md +99 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/skills/spec-init/references/backlog-template.md +23 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/skills/spec-init/references/roadmap-template.md +33 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/skills/spec-new/SKILL.md +110 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/skills/spec-new/references/template.md +129 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/skills/spec-refine/SKILL.md +194 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/skills/spec-update/SKILL.md +142 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/skills/specification-writing/SKILL.md +19 -12
- package/.devcontainer/scripts/check-setup.sh +24 -25
- package/.devcontainer/scripts/setup-aliases.sh +88 -76
- package/.devcontainer/scripts/setup-config.sh +86 -83
- package/.devcontainer/scripts/setup-projects.sh +172 -131
- package/.devcontainer/scripts/setup-terminal.sh +48 -0
- package/.devcontainer/scripts/setup-update-claude.sh +49 -107
- package/.devcontainer/scripts/setup.sh +4 -17
- package/README.md +2 -2
- package/package.json +42 -42
package/.devcontainer/.env
CHANGED
|
@@ -20,5 +20,8 @@ SETUP_PLUGINS=true
|
|
|
20
20
|
# Setup: auto-update Claude Code CLI to latest on container start (runs in background)
|
|
21
21
|
SETUP_UPDATE_CLAUDE=true
|
|
22
22
|
|
|
23
|
+
# Setup: configure VS Code Shift+Enter keybinding for Claude Code terminal
|
|
24
|
+
SETUP_TERMINAL=true
|
|
25
|
+
|
|
23
26
|
# Plugin blacklist (comma-separated plugin names to skip during auto-install)
|
|
24
27
|
PLUGIN_BLACKLIST=""
|
|
@@ -1,5 +1,112 @@
|
|
|
1
1
|
# CodeForge Devcontainer Changelog
|
|
2
2
|
|
|
3
|
+
## [v1.10.0] - 2026-02-13
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
#### New Skill: spec-refine (code-directive plugin — 26 skills total)
|
|
8
|
+
- **`/spec-refine`** — iterative 6-phase spec refinement: assumption mining, requirement validation (`[assumed]` → `[user-approved]`), acceptance criteria review, scope audit, and final approval gate
|
|
9
|
+
|
|
10
|
+
#### setup-terminal.sh
|
|
11
|
+
- New setup script configures VS Code Shift+Enter keybinding for Claude Code multi-line terminal input (idempotent, merges into existing keybindings.json)
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
|
|
15
|
+
#### Native Binary Preference
|
|
16
|
+
- **setup-aliases.sh** — introduces `_CLAUDE_BIN` variable resolution: prefers `~/.local/bin/claude` (official `claude install` location), falls back to `/usr/local/bin/claude`, then PATH. All aliases (`cc`, `claude`, `ccraw`) use `"$_CLAUDE_BIN"`
|
|
17
|
+
- **setup-update-claude.sh** — complete rewrite: delegates to `claude install` (first run) and `claude update` (subsequent starts) instead of manual binary download/checksum/swap. Logs to `/tmp/claude-update.log`
|
|
18
|
+
|
|
19
|
+
#### Smart Test Selection
|
|
20
|
+
- **advisory-test-runner.py** — rewritten to run only affected tests based on edited files. Maps source files to test files (pytest directory mirroring, vitest `--related`, jest `--findRelatedTests`, Go package mapping). Timeout reduced from 60s to 15s. Skips entirely if no files edited
|
|
21
|
+
- **hooks.json** — advisory-test-runner timeout reduced from 65s to 20s
|
|
22
|
+
|
|
23
|
+
#### Two-Level Project Detection
|
|
24
|
+
- **setup-projects.sh** — two-pass scanning: depth-1 directories with project markers registered directly; directories without markers treated as containers and children scanned. Recursive inotifywait with noise exclusion. Clean process group shutdown
|
|
25
|
+
|
|
26
|
+
#### Spec Approval Workflow
|
|
27
|
+
- **spec-writer agent** — adds `**Approval:** draft` field, requires `[assumed]` tagging on all requirements, adds `## Resolved Questions` section, references `/spec-refine` before implementation
|
|
28
|
+
- **spec-new skill** — pre-fills `**Approval:** draft`, notes features should come from backlog
|
|
29
|
+
- **spec-check skill** — adds Unapproved (high) and Assumed Requirements (medium) issue checks, Approval column in health table, approval summary
|
|
30
|
+
- **spec-update skill** — minor alignment with approval workflow
|
|
31
|
+
- **spec-init templates** — backlog template expanded with P0–P3 priority grades + Infrastructure section; roadmap template rewritten with pull-from-backlog workflow
|
|
32
|
+
- **specification-writing skill** — updated with approval field and requirement tagging guidance
|
|
33
|
+
|
|
34
|
+
#### Spec Workflow Completeness
|
|
35
|
+
- **spec-workflow.md (global rule)** — softened 200-line hard cap to "aim for ~200"; added approval workflow rules (spec-refine gate, requirement tags, spec-reminder hook); added `**Approval:**` and `## Resolved Questions` to standard template
|
|
36
|
+
- **main-system-prompt.md** — softened 4× hard "≤200 lines" references to "~200 lines"
|
|
37
|
+
- **spec-new skill** — fixed "capped at 200" internal contradiction; added explanation of what `/spec-refine` does and why
|
|
38
|
+
- **spec-new template** — added Approval Workflow section explaining `[assumed]`/`[user-approved]` tags and `draft`/`user-approved` status
|
|
39
|
+
- **spec-update skill** — added approval gate warning for draft specs; added spec-reminder hook documentation; added approval validation to checklist
|
|
40
|
+
- **spec-check skill** — added `implemented + draft` (High) and `inconsistent approval` (High) checks
|
|
41
|
+
- **spec-init skill** — expanded next-steps with full lifecycle (backlog → roadmap → spec → refine → implement → update → check)
|
|
42
|
+
- **spec-reminder.py** — added `/spec-refine` mention in advisory message for draft specs
|
|
43
|
+
|
|
44
|
+
#### Documentation Sizing
|
|
45
|
+
- **Relaxed 200-line hard cap** to "aim for ~200 lines" across global rule, system prompt, spec-new skill, architect agent, doc-writer agent, documentation-patterns skill, and spec-check skill
|
|
46
|
+
|
|
47
|
+
#### Other
|
|
48
|
+
- **setup.sh** — added `SETUP_TERMINAL` flag, normalized update-claude invocation via `run_script` helper
|
|
49
|
+
- **check-setup.sh** — removed checks for disabled features (shfmt, shellcheck, hadolint, dprint); checks RC files for alias instead of `type cc`
|
|
50
|
+
- **connect-external-terminal.sh** — uses `${WORKSPACE_ROOT:-/workspaces}` instead of hardcoded path
|
|
51
|
+
- **devcontainer.json** — formatting normalization
|
|
52
|
+
- **main-system-prompt.md** — updates for spec approval workflow and requirement tagging
|
|
53
|
+
|
|
54
|
+
### Removed
|
|
55
|
+
- **test-project/README.md** — deleted (no longer needed)
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## [v1.9.0] - 2026-02-10
|
|
60
|
+
|
|
61
|
+
### Added
|
|
62
|
+
|
|
63
|
+
#### Agent Context Inheritance (code-directive plugin)
|
|
64
|
+
- **Project Context Discovery** — all 14 project-interacting agents now read `.claude/rules/*.md` and CLAUDE.md files before starting work. Agents walk up the directory tree from their working directory to the workspace root, applying conventions from each level (deeper files take precedence)
|
|
65
|
+
- **Execution Discipline** — 7 agents (generalist, refactorer, migrator, test-writer, doc-writer, architect, researcher) gain structured pre/post-work verification: read before writing, verify after writing, no silent deviations, failure diagnosis before retry
|
|
66
|
+
- **Code Standards** — 5 agents (generalist full; refactorer, migrator, test-writer, architect compact) gain SOLID, DRY/KISS/YAGNI, function size limits, error handling rules, and forbidden patterns (god classes, magic numbers, dead code)
|
|
67
|
+
- **Professional Objectivity** — 10 agents gain explicit instruction to prioritize technical accuracy over agreement, present evidence when it conflicts with assumptions
|
|
68
|
+
- **Communication Standards** — all 14 agents gain response brevity rules: substance-first responses, no preamble, explicit uncertainty marking, file:line references
|
|
69
|
+
- **Documentation Convention** — 2 write agents (generalist, migrator) gain inline comment guidance (explain "why", not "what")
|
|
70
|
+
- **Context Management** — generalist gains instruction to continue working normally when context runs low
|
|
71
|
+
- **Testing Guidance** — generalist gains testing standards (verify behavior not implementation, max 3 mocks per test)
|
|
72
|
+
- **Scope Discipline** — refactorer gains explicit constraint: never expand scope beyond the requested refactoring
|
|
73
|
+
- **Tiered approach**: Tier 1 (generalist, 139→268 lines, all blocks), Tier 2 (4 write agents, full blocks), Tier 3 (9 read-only agents, compact blocks). 3 agents skipped (bash-exec, claude-guide, statusline-config — no project context needed)
|
|
74
|
+
|
|
75
|
+
#### Specification Workflow System (code-directive plugin — 4 new skills, 25 total)
|
|
76
|
+
- **`/spec-new`** — creates a new spec from the standard template in `.specs/`
|
|
77
|
+
- **`/spec-update`** — performs as-built spec update after implementation (checks off criteria, adds implementation notes, updates paths)
|
|
78
|
+
- **`/spec-check`** — audits spec health: stale specs, missing coverage, orphaned files
|
|
79
|
+
- **`/spec-init`** — bootstraps `.specs/` directory structure for projects that don't have one
|
|
80
|
+
- **`spec-reminder.py`** `[Stop]` — new advisory hook reminds about spec updates when implementation work is detected
|
|
81
|
+
- **Spec skills assigned to agents** — generalist and spec-writer agents gain spec skill access in frontmatter
|
|
82
|
+
|
|
83
|
+
#### Default Rules Distribution
|
|
84
|
+
- **`config/defaults/rules/`** — new directory containing default `.claude/rules/` files distributed to all projects via file-manifest
|
|
85
|
+
- **`spec-workflow.md`** — rule enforcing spec-before-implementation workflow, ≤200 line spec limit, `.specs/` directory convention, as-built update requirement
|
|
86
|
+
- **`workspace-scope.md`** — rule restricting file operations to the current project directory
|
|
87
|
+
|
|
88
|
+
#### New Plugin: auto-code-quality
|
|
89
|
+
- **Self-contained code quality plugin** — combines auto-formatter + auto-linter into a single drop-in plugin with independent temp file namespace (`claude-cq-*`). Includes all 7 formatters (Ruff, Biome, gofmt, shfmt, dprint, rustfmt, Black fallback) and 7 linters (Pyright, Ruff, Biome, ShellCheck, go vet, hadolint, clippy) plus syntax validation. Designed for use outside the CodeForge devcontainer where auto-formatter and auto-linter aren't available separately
|
|
90
|
+
|
|
91
|
+
### Changed
|
|
92
|
+
|
|
93
|
+
#### Config System
|
|
94
|
+
- **`file-manifest.json`** — added 2 new entries for default rules files (`defaults/rules/spec-workflow.md`, `defaults/rules/workspace-scope.md`) targeting `${CLAUDE_CONFIG_DIR}/rules`
|
|
95
|
+
- **`setup-config.sh` bug fix** — fixed bash field-collapse bug where empty `destFilename` caused subsequent fields to shift. Uses `__NONE__` sentinel in jq output to prevent `read` from collapsing consecutive tab delimiters
|
|
96
|
+
|
|
97
|
+
#### Plugin References
|
|
98
|
+
- **`frontend-design` plugin name corrected** — fixed `frontend-design@claude-code-plugins` → `frontend-design@claude-plugins-official` in both `settings.json` and `CLAUDE.md`
|
|
99
|
+
|
|
100
|
+
#### Code-Directive Plugin
|
|
101
|
+
- **`hooks.json`** — added `spec-reminder.py` to Stop hooks (now 3 Stop hooks: advisory-test-runner, commit-reminder, spec-reminder)
|
|
102
|
+
- **`marketplace.json`** — added `auto-code-quality` plugin entry (10 plugins total, was 9)
|
|
103
|
+
- **Agent definitions** — 14 of 17 agents updated with orchestrator-mirrored instructions (see Agent Context Inheritance above)
|
|
104
|
+
|
|
105
|
+
#### Formatting
|
|
106
|
+
- **Whitespace normalization** — `settings.json`, `file-manifest.json`, `marketplace.json`, `hooks.json`, `package.json`, `setup-config.sh` reformatted to consistent tab indentation
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
3
110
|
## [v1.8.0] - 2026-02-09
|
|
4
111
|
|
|
5
112
|
### Added
|
package/.devcontainer/CLAUDE.md
CHANGED
|
@@ -44,10 +44,12 @@ CodeForge devcontainer for AI-assisted development with Claude Code.
|
|
|
44
44
|
|
|
45
45
|
| Command | Purpose |
|
|
46
46
|
|---------|---------|
|
|
47
|
-
| `claude` | Run Claude Code with auto-configuration (
|
|
47
|
+
| `claude` | Run Claude Code with auto-configuration (prefers native binary at `~/.local/bin/claude`) |
|
|
48
48
|
| `cc` | Shorthand for `claude` with config |
|
|
49
49
|
| `ccraw` | Vanilla Claude Code without any config (bypasses function override) |
|
|
50
50
|
| `ccusage` | Analyze token usage history |
|
|
51
|
+
| `ccburn` | Real-time token burn rate visualization |
|
|
52
|
+
| `agent-browser` | Headless Chromium for browser automation (Playwright-based) |
|
|
51
53
|
| `gh` | GitHub CLI for repo operations |
|
|
52
54
|
| `uv` | Fast Python package manager |
|
|
53
55
|
| `ast-grep` | Structural code search |
|
|
@@ -89,6 +91,17 @@ Every local feature supports `"version": "none"` to skip installation entirely.
|
|
|
89
91
|
|
|
90
92
|
When `version` is set to `"none"`, the feature's `install.sh` exits immediately with a skip message. The feature entry stays in `devcontainer.json` so re-enabling is a one-word change.
|
|
91
93
|
|
|
94
|
+
**Currently disabled features** (not needed for Python/JS/TS workflow):
|
|
95
|
+
|
|
96
|
+
| Feature | Handles | Reason |
|
|
97
|
+
|---------|---------|--------|
|
|
98
|
+
| `shfmt` | Shell formatting | Not needed — Python/JS/TS only |
|
|
99
|
+
| `shellcheck` | Shell linting | Not needed — Python/JS/TS only |
|
|
100
|
+
| `hadolint` | Dockerfile linting | Not needed — Python/JS/TS only |
|
|
101
|
+
| `dprint` | Markdown/YAML/TOML/Dockerfile formatting | Not needed — Python/JS/TS only |
|
|
102
|
+
|
|
103
|
+
The auto-formatter and auto-linter plugins gracefully skip missing tools at runtime.
|
|
104
|
+
|
|
92
105
|
**All local features support this pattern:**
|
|
93
106
|
ast-grep, biome, ccstatusline, claude-monitor, dprint, hadolint, lsp-servers, mcp-qdrant, mcp-reasoner, notify-hook, ruff, shfmt, shellcheck, splitrail, tmux
|
|
94
107
|
|
|
@@ -114,18 +127,26 @@ Scripts in `./scripts/` run via `postStartCommand`:
|
|
|
114
127
|
|--------|---------|
|
|
115
128
|
| `setup.sh` | Main orchestrator |
|
|
116
129
|
| `setup-config.sh` | Copies config files per `config/file-manifest.json` to destinations |
|
|
117
|
-
| `setup-aliases.sh` | Creates `cc`/`claude`/`ccraw` shell aliases |
|
|
130
|
+
| `setup-aliases.sh` | Creates `cc`/`claude`/`ccraw` shell aliases (prefers native binary at `~/.local/bin/claude` via `_CLAUDE_BIN`) |
|
|
118
131
|
| `setup-plugins.sh` | Registers local marketplace + installs official Anthropic plugins |
|
|
119
|
-
| `setup-update-claude.sh` |
|
|
132
|
+
| `setup-update-claude.sh` | Installs native Claude Code binary on first run; background auto-updates on subsequent starts |
|
|
133
|
+
| `setup-terminal.sh` | Configures VS Code Shift+Enter keybinding for Claude Code multi-line input |
|
|
120
134
|
| `setup-projects.sh` | Auto-detects projects for VS Code Project Manager |
|
|
121
135
|
| `setup-symlink-claude.sh` | Symlinks ~/.claude for third-party tool compatibility |
|
|
122
136
|
|
|
137
|
+
### External Terminal
|
|
138
|
+
|
|
139
|
+
`connect-external-terminal.sh` connects to the running devcontainer from an external terminal with tmux support for Claude Code Agent Teams split-pane workflows. Run from the host:
|
|
140
|
+
```bash
|
|
141
|
+
.devcontainer/connect-external-terminal.sh
|
|
142
|
+
```
|
|
143
|
+
|
|
123
144
|
## Installed Plugins
|
|
124
145
|
|
|
125
146
|
Plugins are declared in `config/defaults/settings.json` under `enabledPlugins` and auto-activated on container start:
|
|
126
147
|
|
|
127
148
|
### Official (Anthropic)
|
|
128
|
-
- `frontend-design@claude-
|
|
149
|
+
- `frontend-design@claude-plugins-official` — UI/frontend design skill
|
|
129
150
|
|
|
130
151
|
### Local Marketplace (devs-marketplace)
|
|
131
152
|
- `codeforge-lsp@devs-marketplace` — LSP for Python + TypeScript/JavaScript
|
|
@@ -133,9 +154,9 @@ Plugins are declared in `config/defaults/settings.json` under `enabledPlugins` a
|
|
|
133
154
|
- `notify-hook@devs-marketplace` — Desktop notifications on completion
|
|
134
155
|
- `dangerous-command-blocker@devs-marketplace` — Blocks destructive bash commands
|
|
135
156
|
- `protected-files-guard@devs-marketplace` — Blocks edits to secrets/lock files
|
|
136
|
-
- `auto-formatter@devs-marketplace` — Batch-formats edited files at Stop (Ruff
|
|
137
|
-
- `auto-linter@devs-marketplace` — Auto-lints edited files at Stop (Pyright + Ruff for Python, Biome for JS/TS/CSS/GraphQL
|
|
138
|
-
- `code-directive@devs-marketplace` — 17 custom agents,
|
|
157
|
+
- `auto-formatter@devs-marketplace` — Batch-formats edited files at Stop (Ruff for Python, Biome for JS/TS/CSS/JSON/GraphQL/HTML; also supports shfmt, dprint, gofmt, rustfmt when installed)
|
|
158
|
+
- `auto-linter@devs-marketplace` — Auto-lints edited files at Stop (Pyright + Ruff for Python, Biome for JS/TS/CSS/GraphQL; also supports ShellCheck, hadolint, go vet, clippy when installed)
|
|
159
|
+
- `code-directive@devs-marketplace` — 17 custom agents, 17 skills, syntax validation, skill suggestions, agent redirect hook
|
|
139
160
|
|
|
140
161
|
### Local Marketplace
|
|
141
162
|
|
|
@@ -156,7 +177,7 @@ plugins/devs-marketplace/
|
|
|
156
177
|
|
|
157
178
|
## Agents & Skills
|
|
158
179
|
|
|
159
|
-
The `code-directive` plugin includes 17 custom agent definitions and
|
|
180
|
+
The `code-directive` plugin includes 17 custom agent definitions and 17 coding reference skills.
|
|
160
181
|
|
|
161
182
|
**Agents** (`plugins/devs-marketplace/plugins/code-directive/agents/`):
|
|
162
183
|
architect, bash-exec, claude-guide, debug-logs, dependency-analyst, doc-writer, explorer, generalist, git-archaeologist, migrator, perf-profiler, refactorer, researcher, security-auditor, spec-writer, statusline-config, test-writer
|
|
@@ -164,7 +185,7 @@ architect, bash-exec, claude-guide, debug-logs, dependency-analyst, doc-writer,
|
|
|
164
185
|
The `redirect-builtin-agents.py` hook (PreToolUse/Task) transparently swaps built-in agent types to these custom agents (e.g., Explore→explorer, Plan→architect).
|
|
165
186
|
|
|
166
187
|
**Skills** (`plugins/devs-marketplace/plugins/code-directive/skills/`):
|
|
167
|
-
claude-agent-sdk, claude-code-headless, debugging, docker, docker-py, fastapi, git-forensics, performance-profiling, pydantic-ai, refactoring-patterns, security-checklist, skill-building, specification-writing, sqlite, svelte5, testing
|
|
188
|
+
claude-agent-sdk, claude-code-headless, debugging, docker, docker-py, fastapi, git-forensics, performance-profiling, pydantic-ai, refactoring-patterns, security-checklist, skill-building, spec-refine, specification-writing, sqlite, svelte5, testing
|
|
168
189
|
|
|
169
190
|
## VS Code Keybinding Conflicts
|
|
170
191
|
|
package/.devcontainer/README.md
CHANGED
|
@@ -293,11 +293,70 @@ Agent definitions in `plugins/devs-marketplace/plugins/code-directive/agents/` p
|
|
|
293
293
|
| `statusline-config` | ccstatusline configuration |
|
|
294
294
|
| `test-writer` | Test authoring with pass verification |
|
|
295
295
|
|
|
296
|
-
### Skills (
|
|
296
|
+
### Skills (17)
|
|
297
297
|
|
|
298
298
|
Skills in `plugins/devs-marketplace/plugins/code-directive/skills/` provide domain-specific coding references:
|
|
299
299
|
|
|
300
|
-
`claude-agent-sdk` · `claude-code-headless` · `debugging` · `docker` · `docker-py` · `fastapi` · `git-forensics` · `performance-profiling` · `pydantic-ai` · `refactoring-patterns` · `security-checklist` · `skill-building` · `specification-writing` · `sqlite` · `svelte5` · `testing`
|
|
300
|
+
`claude-agent-sdk` · `claude-code-headless` · `debugging` · `docker` · `docker-py` · `fastapi` · `git-forensics` · `performance-profiling` · `pydantic-ai` · `refactoring-patterns` · `security-checklist` · `skill-building` · `spec-refine` · `specification-writing` · `sqlite` · `svelte5` · `testing`
|
|
301
|
+
|
|
302
|
+
## Specification Workflow
|
|
303
|
+
|
|
304
|
+
CodeForge includes a specification-driven development workflow. Every non-trivial feature gets a spec before implementation begins.
|
|
305
|
+
|
|
306
|
+
### Quick Start
|
|
307
|
+
|
|
308
|
+
```bash
|
|
309
|
+
/spec-init # Bootstrap .specs/ directory (first time only)
|
|
310
|
+
/spec-new auth-flow v0.2.0 # Create a feature spec
|
|
311
|
+
/spec-refine auth-flow # Validate assumptions with user
|
|
312
|
+
# ... implement the feature ...
|
|
313
|
+
/spec-update auth-flow # As-built update after implementation
|
|
314
|
+
/spec-check # Audit all specs for health
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
### The Lifecycle
|
|
318
|
+
|
|
319
|
+
1. **Backlog** — features live in `.specs/BACKLOG.md` with priority grades (P0–P3)
|
|
320
|
+
2. **Roadmap** — when starting a version, pull features from backlog into `.specs/ROADMAP.md`
|
|
321
|
+
3. **Spec** — `/spec-new` creates a spec from the standard template with all requirements tagged `[assumed]`
|
|
322
|
+
4. **Refine** — `/spec-refine` walks through every assumption with the user, converting `[assumed]` → `[user-approved]`. The spec's approval status moves from `draft` → `user-approved`. **No implementation begins until approved.**
|
|
323
|
+
5. **Implement** — build the feature using the spec's acceptance criteria as the definition of done
|
|
324
|
+
6. **Update** — `/spec-update` performs the as-built update: sets status, checks off criteria, adds implementation notes
|
|
325
|
+
7. **Health check** — `/spec-check` audits all specs for staleness, missing sections, unapproved status, and other issues
|
|
326
|
+
|
|
327
|
+
### Approval Workflow
|
|
328
|
+
|
|
329
|
+
Specs use a two-level approval system:
|
|
330
|
+
|
|
331
|
+
- **Requirement-level:** each requirement starts as `[assumed]` (AI hypothesis) and becomes `[user-approved]` after explicit user validation via `/spec-refine`
|
|
332
|
+
- **Spec-level:** the `**Approval:**` field starts as `draft` and becomes `user-approved` when all requirements pass review
|
|
333
|
+
|
|
334
|
+
A spec-reminder advisory hook fires at Stop when code was modified but specs weren't updated.
|
|
335
|
+
|
|
336
|
+
### Skills Reference
|
|
337
|
+
|
|
338
|
+
| Skill | Purpose |
|
|
339
|
+
|-------|---------|
|
|
340
|
+
| `/spec-init` | Bootstrap `.specs/` directory with ROADMAP and BACKLOG |
|
|
341
|
+
| `/spec-new` | Create a feature spec from the standard template |
|
|
342
|
+
| `/spec-refine` | Validate assumptions and get user approval (required before implementation) |
|
|
343
|
+
| `/spec-update` | As-built update after implementation |
|
|
344
|
+
| `/spec-check` | Audit all specs for health issues |
|
|
345
|
+
| `/specification-writing` | EARS format templates and acceptance criteria patterns |
|
|
346
|
+
|
|
347
|
+
### Directory Structure
|
|
348
|
+
|
|
349
|
+
```
|
|
350
|
+
.specs/
|
|
351
|
+
├── ROADMAP.md # Current version scope
|
|
352
|
+
├── BACKLOG.md # Priority-graded feature backlog
|
|
353
|
+
├── v0.1.0.md # Single-file spec (small versions)
|
|
354
|
+
└── v0.2.0/ # Multi-feature version
|
|
355
|
+
├── _overview.md # Parent linking sub-specs
|
|
356
|
+
└── feature.md # Individual feature spec
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
Specs aim for ~200 lines each. Split by feature boundary when longer; link via a parent overview.
|
|
301
360
|
|
|
302
361
|
## Project Manager
|
|
303
362
|
|