codeforge-dev 1.12.0 → 1.14.1
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/CHANGELOG.md +175 -2
- package/.devcontainer/CLAUDE.md +61 -268
- package/.devcontainer/README.md +17 -9
- package/.devcontainer/config/defaults/ccstatusline-settings.json +147 -0
- package/.devcontainer/config/defaults/main-system-prompt.md +6 -1
- package/.devcontainer/config/defaults/rules/spec-workflow.md +1 -55
- package/.devcontainer/config/defaults/rules/workspace-scope.md +13 -4
- package/.devcontainer/config/defaults/settings.json +5 -3
- package/.devcontainer/config/file-manifest.json +14 -0
- package/.devcontainer/devcontainer.json +32 -7
- package/.devcontainer/docs/optional-features.md +0 -65
- package/.devcontainer/docs/plugins.md +38 -23
- package/.devcontainer/features/ast-grep/devcontainer-feature.json +0 -1
- package/.devcontainer/features/biome/install.sh +13 -0
- package/.devcontainer/features/ccburn/devcontainer-feature.json +0 -1
- package/.devcontainer/features/ccms/devcontainer-feature.json +0 -1
- package/.devcontainer/features/ccms/install.sh +1 -1
- package/.devcontainer/features/ccstatusline/devcontainer-feature.json +0 -1
- package/.devcontainer/features/ccstatusline/install.sh +17 -115
- package/.devcontainer/features/ccusage/devcontainer-feature.json +0 -1
- package/.devcontainer/features/chromaterm/README.md +42 -0
- package/.devcontainer/features/chromaterm/chromaterm.yml +35 -0
- package/.devcontainer/features/chromaterm/devcontainer-feature.json +22 -0
- package/.devcontainer/features/chromaterm/install.sh +113 -0
- package/.devcontainer/features/claude-monitor/devcontainer-feature.json +0 -1
- package/.devcontainer/features/claude-session-dashboard/README.md +40 -0
- package/.devcontainer/features/claude-session-dashboard/devcontainer-feature.json +34 -0
- package/.devcontainer/features/claude-session-dashboard/install.sh +172 -0
- package/.devcontainer/features/kitty-terminfo/README.md +32 -0
- package/.devcontainer/features/kitty-terminfo/devcontainer-feature.json +13 -0
- package/.devcontainer/features/kitty-terminfo/install.sh +72 -0
- package/.devcontainer/features/lsp-servers/devcontainer-feature.json +0 -1
- package/.devcontainer/features/mcp-qdrant/devcontainer-feature.json +0 -1
- package/.devcontainer/features/shellcheck/install.sh +6 -2
- package/.devcontainer/features/tree-sitter/devcontainer-feature.json +0 -1
- package/.devcontainer/plugins/devs-marketplace/.claude-plugin/marketplace.json +48 -59
- package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/.claude-plugin/plugin.json +7 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/AGENT-REDIRECTION.md +7 -12
- package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/README.md +197 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/REVIEW-RUBRIC.md +1 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/architect.md +3 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/bash-exec.md +3 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/claude-guide.md +5 -2
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/debug-logs.md +7 -2
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/dependency-analyst.md +6 -2
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/doc-writer.md +4 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/explorer.md +4 -2
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/generalist.md +10 -2
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/git-archaeologist.md +5 -2
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/migrator.md +4 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/perf-profiler.md +4 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/refactorer.md +5 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/researcher.md +6 -2
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/security-auditor.md +5 -2
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/spec-writer.md +3 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/statusline-config.md +4 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/test-writer.md +4 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/hooks/hooks.json +51 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/scripts/guard-readonly-bash.py +2 -2
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/scripts/inject-cwd.py +7 -4
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/scripts/redirect-builtin-agents.py +17 -6
- package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/scripts/task-completed-check.py +166 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/scripts/teammate-idle-check.py +81 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/scripts/verify-no-regression.py +14 -10
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/scripts/verify-tests-pass.py +2 -14
- package/.devcontainer/plugins/devs-marketplace/plugins/auto-code-quality/README.md +17 -31
- package/.devcontainer/plugins/devs-marketplace/plugins/auto-code-quality/hooks/hooks.json +5 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → auto-code-quality}/scripts/advisory-test-runner.py +9 -8
- package/.devcontainer/plugins/devs-marketplace/plugins/codeforge-lsp/README.md +28 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/dangerous-command-blocker/README.md +28 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/dangerous-command-blocker/scripts/block-dangerous.py +2 -2
- package/.devcontainer/plugins/devs-marketplace/plugins/notify-hook/README.md +28 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/notify-hook/hooks/hooks.json +0 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/protected-files-guard/README.md +28 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/protected-files-guard/scripts/guard-protected-bash.py +1 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/protected-files-guard/scripts/guard-protected.py +2 -2
- package/.devcontainer/plugins/devs-marketplace/plugins/session-context/.claude-plugin/plugin.json +7 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/session-context/README.md +140 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/session-context/hooks/hooks.json +33 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → session-context}/scripts/commit-reminder.py +3 -2
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → session-context}/scripts/git-state-injector.py +18 -2
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → session-context}/scripts/todo-harvester.py +9 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/.claude-plugin/plugin.json +7 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/README.md +158 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/hooks/hooks.json +16 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/scripts/skill-suggester.py +189 -100
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/api-design/SKILL.md +9 -6
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/ast-grep-patterns/SKILL.md +7 -6
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/claude-agent-sdk/SKILL.md +8 -8
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/claude-code-headless/SKILL.md +8 -9
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/debugging/SKILL.md +11 -7
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/dependency-management/SKILL.md +10 -6
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/docker/SKILL.md +8 -8
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/docker-py/SKILL.md +9 -7
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/documentation-patterns/SKILL.md +7 -6
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/fastapi/SKILL.md +9 -8
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/git-forensics/SKILL.md +11 -9
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/migration-patterns/SKILL.md +7 -6
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/performance-profiling/SKILL.md +10 -8
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/pydantic-ai/SKILL.md +8 -7
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/refactoring-patterns/SKILL.md +9 -8
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/security-checklist/SKILL.md +9 -8
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/skill-building/SKILL.md +7 -7
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/sqlite/SKILL.md +9 -7
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/svelte5/SKILL.md +7 -8
- package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/skills/team/SKILL.md +271 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/testing/SKILL.md +10 -7
- package/.devcontainer/plugins/devs-marketplace/plugins/spec-workflow/.claude-plugin/plugin.json +7 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/spec-workflow/README.md +192 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/spec-workflow/hooks/hooks.json +16 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/scripts/spec-reminder.py +3 -2
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-build/SKILL.md +9 -6
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-check/SKILL.md +10 -5
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-init/SKILL.md +8 -4
- package/.devcontainer/plugins/devs-marketplace/plugins/spec-workflow/skills/spec-init/references/roadmap-template.md +33 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-new/SKILL.md +8 -4
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-refine/SKILL.md +10 -7
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-review/SKILL.md +10 -6
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-update/SKILL.md +10 -5
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/specification-writing/SKILL.md +9 -9
- package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/.claude-plugin/plugin.json +1 -2
- package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/README.md +28 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/hooks/hooks.json +16 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → ticket-workflow}/scripts/ticket-linker.py +9 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/workspace-scope-guard/README.md +104 -32
- package/.devcontainer/plugins/devs-marketplace/plugins/workspace-scope-guard/hooks/hooks.json +49 -3
- package/.devcontainer/plugins/devs-marketplace/plugins/workspace-scope-guard/scripts/guard-workspace-scope.py +269 -58
- package/.devcontainer/plugins/devs-marketplace/plugins/workspace-scope-guard/scripts/inject-workspace-cwd.py +44 -0
- package/.devcontainer/scripts/setup-aliases.sh +13 -5
- package/.devcontainer/scripts/setup-config.sh +1 -0
- package/.devcontainer/scripts/setup-projects.sh +1 -1
- package/README.md +5 -5
- package/package.json +6 -2
- package/setup.js +3 -2
- package/.devcontainer/.env +0 -33
- package/.devcontainer/features/README.md +0 -126
- package/.devcontainer/plugins/devs-marketplace/plugins/auto-formatter/.claude-plugin/plugin.json +0 -7
- package/.devcontainer/plugins/devs-marketplace/plugins/auto-formatter/README.md +0 -81
- package/.devcontainer/plugins/devs-marketplace/plugins/auto-formatter/hooks/hooks.json +0 -17
- package/.devcontainer/plugins/devs-marketplace/plugins/auto-formatter/scripts/__pycache__/format-on-stop.cpython-314.pyc +0 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/auto-formatter/scripts/format-on-stop.py +0 -297
- package/.devcontainer/plugins/devs-marketplace/plugins/auto-linter/.claude-plugin/plugin.json +0 -7
- package/.devcontainer/plugins/devs-marketplace/plugins/auto-linter/README.md +0 -92
- package/.devcontainer/plugins/devs-marketplace/plugins/auto-linter/hooks/hooks.json +0 -17
- package/.devcontainer/plugins/devs-marketplace/plugins/auto-linter/scripts/__pycache__/lint-file.cpython-314.pyc +0 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/auto-linter/scripts/lint-file.py +0 -536
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/.claude-plugin/plugin.json +0 -8
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/README.md +0 -250
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/hooks/hooks.json +0 -112
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/advisory-test-runner.cpython-314.pyc +0 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/collect-edited-files.cpython-314.pyc +0 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/commit-reminder.cpython-314.pyc +0 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/git-state-injector.cpython-314.pyc +0 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/guard-readonly-bash.cpython-314.pyc +0 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/redirect-builtin-agents.cpython-314.pyc +0 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/skill-suggester.cpython-314.pyc +0 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/syntax-validator.cpython-314.pyc +0 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/ticket-linker.cpython-314.pyc +0 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/todo-harvester.cpython-314.pyc +0 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/verify-no-regression.cpython-314.pyc +0 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/verify-tests-pass.cpython-314.pyc +0 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/collect-edited-files.py +0 -46
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/syntax-validator.py +0 -146
- package/.devcontainer/plugins/devs-marketplace/plugins/dangerous-command-blocker/scripts/__pycache__/block-dangerous.cpython-314.pyc +0 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/protected-files-guard/scripts/__pycache__/guard-protected.cpython-314.pyc +0 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/.claude-plugin/system-prompt.md +0 -184
- package/.devcontainer/plugins/devs-marketplace/plugins/workspace-scope-guard/scripts/__pycache__/guard-workspace-scope.cpython-314.pyc +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive/.claude-plugin/commands/debug.md → agent-system/skills/debug/SKILL.md} +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/api-design/references/error-handling.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/api-design/references/rest-conventions.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/ast-grep-patterns/references/language-patterns.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/claude-agent-sdk/references/sdk-typescript-reference.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/claude-code-headless/references/cli-flags-and-output.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/claude-code-headless/references/sdk-and-mcp.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/debugging/references/error-patterns.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/debugging/references/log-locations.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/dependency-management/references/ecosystem-commands.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/dependency-management/references/license-compliance.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/docker/references/compose-services.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/docker/references/dockerfile-patterns.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/docker-py/references/container-lifecycle.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/docker-py/references/resources-and-security.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/documentation-patterns/references/api-doc-templates.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/documentation-patterns/references/docstring-formats.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/fastapi/references/middleware-and-lifespan.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/fastapi/references/pydantic-models.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/fastapi/references/routing-and-dependencies.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/fastapi/references/sse-and-streaming.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/git-forensics/references/advanced-commands.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/git-forensics/references/investigation-playbooks.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/migration-patterns/references/javascript-migrations.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/migration-patterns/references/python-migrations.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/performance-profiling/references/interpreting-results.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/performance-profiling/references/tool-commands.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/pydantic-ai/references/agents-and-tools.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/pydantic-ai/references/models-and-streaming.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/refactoring-patterns/references/safe-transformations.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/refactoring-patterns/references/smell-catalog.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/security-checklist/references/owasp-patterns.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/security-checklist/references/secrets-patterns.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/skill-building/references/cross-vendor-principles.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/skill-building/references/patterns-and-antipatterns.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/skill-building/references/skill-authoring-patterns.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/sqlite/references/advanced-queries.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/sqlite/references/javascript-patterns.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/sqlite/references/python-patterns.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/sqlite/references/schema-and-pragmas.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/svelte5/references/ai-sdk-svelte.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/svelte5/references/component-patterns.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/svelte5/references/layercake.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/svelte5/references/migration-guide.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/svelte5/references/runes-and-reactivity.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/svelte5/references/spa-and-routing.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/svelte5/references/svelte-dnd-action.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/testing/references/fastapi-testing.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/testing/references/svelte-testing.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-build/references/review-checklist.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-init/references/backlog-template.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-init/references/milestones-template.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-new/references/template.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/specification-writing/references/criteria-patterns.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/specification-writing/references/ears-templates.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/{.claude-plugin/commands/ticket/357/200/272create-pr.md" → skills/ticketcreate-pr/SKILL.md} +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/{.claude-plugin/commands/ticket/357/200/272new.md" → skills/ticketnew/SKILL.md} +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/{.claude-plugin/commands/ticket/357/200/272review-commit.md" → skills/ticketreview-commit/SKILL.md} +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/{.claude-plugin/commands/ticket/357/200/272work.md" → skills/ticketwork/SKILL.md} +0 -0
|
@@ -1,5 +1,180 @@
|
|
|
1
1
|
# CodeForge Devcontainer Changelog
|
|
2
2
|
|
|
3
|
+
## [v1.14.1] - 2026-02-24
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
#### CI: Release Workflow
|
|
8
|
+
- **test.js** — settings.json path updated from `config/settings.json` to `config/defaults/settings.json` to match config externalization refactor
|
|
9
|
+
- **test.js** — Test 5 (executable check) result now included in exit condition; previously a failure was logged but did not affect the exit code
|
|
10
|
+
- **setup.js** — file permissions changed from 644 to 755 (executable) to match shebang and `bin` declaration in package.json
|
|
11
|
+
|
|
12
|
+
#### CI: Publish DevContainer Features Workflow
|
|
13
|
+
- **features/README.md** — removed from features directory; `devcontainers/action@v1` treated it as a feature subdirectory and failed looking for `README.md/devcontainer-feature.json`
|
|
14
|
+
- **11 devcontainer-feature.json files** — removed `"maintainer"` field (not in the DevContainer Feature spec schema, causing strict validation failure): ast-grep, ccburn, ccms, ccstatusline, ccusage, chromaterm, claude-monitor, claude-session-dashboard, lsp-servers, mcp-qdrant, tree-sitter
|
|
15
|
+
|
|
16
|
+
## [v1.14.0] - 2026-02-24
|
|
17
|
+
|
|
18
|
+
### Fixed (CodeRabbit review)
|
|
19
|
+
- **chromaterm/install.sh** — username auto-detection now resets to empty before candidate loop, so `${USERNAME:-root}` fallback works correctly
|
|
20
|
+
- **biome/install.sh** — nvm.sh sourcing wrapped in `set +u` / `set -u` to prevent unbound variable abort under `set -euo pipefail`
|
|
21
|
+
- **setup.js** — `ccstatusline-settings.json` added to DEFAULT_PRESERVE so user customizations survive `--force` package updates
|
|
22
|
+
- **docs agent-system.md** — spec-writer moved from Full-Access to Read-Only agents table (matches its `permissionMode: plan` definition)
|
|
23
|
+
- **guard-readonly-bash.py** — docstring corrected from "Returns JSON on stdout" to "Outputs block reason to stderr"
|
|
24
|
+
- **git-forensics/SKILL.md** — misleading "Blame through renames" comment fixed to "Show patch history through renames"
|
|
25
|
+
|
|
26
|
+
### Added
|
|
27
|
+
|
|
28
|
+
#### Nuclear Workspace Scope Enforcement
|
|
29
|
+
- **Blacklist system** — `/workspaces/.devcontainer/` permanently blocked for ALL operations (read, write, bash). Checked before allowlist, scope check, and cwd bypass. Cannot be overridden, even from workspace root
|
|
30
|
+
- **Bash enforcement** — two-layer detection in `guard-workspace-scope.py`:
|
|
31
|
+
- Layer 1: 20+ regex patterns extract write targets (`>`, `tee`, `cp`, `mv`, `touch`, `mkdir`, `rm`, `ln`, `rsync`, `chmod`, `chown`, `dd`, `wget -O`, `curl -o`, `tar -C`, `unzip -d`, `gcc -o`, `sqlite3`). System command exemption only when ALL targets resolve to system paths
|
|
32
|
+
- Layer 2: regex scans entire command for any `/workspaces/` path string — catches inline scripts, variable assignments, quoted paths. No exemptions, always runs
|
|
33
|
+
- **CWD context injector** (`inject-workspace-cwd.py`) — fires on SessionStart, UserPromptSubmit, PreToolUse, SubagentStart to reinforce working directory scope
|
|
34
|
+
- **Fail-closed error handling** — JSON parse errors, exceptions, and unknown tools now exit 2 (block) instead of exit 0 (allow)
|
|
35
|
+
|
|
36
|
+
#### Agent System Enhancements
|
|
37
|
+
- **`task-completed-check.py`** — quality gate hook (TaskCompleted) runs test suite before allowing task completion
|
|
38
|
+
- **`teammate-idle-check.py`** — quality gate hook (TeammateIdle) prevents teammates from going idle with incomplete tasks
|
|
39
|
+
- **`skills/debug/SKILL.md`** — structured log investigation skill replacing the old `/debug` slash command
|
|
40
|
+
- **`permissionMode`** declared on all 17 agent definitions (plan for read-only, default for write-capable)
|
|
41
|
+
- **Agent-system README** — full plugin documentation with hook lifecycle, agent table, quality gates
|
|
42
|
+
|
|
43
|
+
#### Skill Engine Enhancements
|
|
44
|
+
- **6 new skill matchers** in `skill-suggester.py`: `spec-check`, `spec-init`, `spec-new`, `spec-refine`, `spec-update`, `team`
|
|
45
|
+
- **Team skill expanded** (v0.2.0) — quality gate hooks, plan approval workflow, keyboard shortcuts, use case examples, best practices, limitations
|
|
46
|
+
- **Skill-engine README** — full plugin documentation
|
|
47
|
+
|
|
48
|
+
#### New Features
|
|
49
|
+
- **chromaterm** — terminal output colorizer via ChromaTerm2 YAML rules
|
|
50
|
+
- **kitty-terminfo** — xterm-kitty terminfo for Kitty terminal compatibility
|
|
51
|
+
|
|
52
|
+
#### Documentation Site
|
|
53
|
+
- **Astro/Starlight docs** (`docs/`) — full documentation portal with getting-started guides, plugin reference (12 pages), feature docs, customization, and API reference
|
|
54
|
+
- **GitHub Actions** — `deploy-docs.yml` (docs deployment), `publish-features.yml` (GHCR feature publishing), `release.yml` (release workflow)
|
|
55
|
+
- **Logos** — CodeForgeLogo.png, CodeForgeLogoTr.png, github-avatar.png
|
|
56
|
+
|
|
57
|
+
#### Plugin Installation Documentation
|
|
58
|
+
- **Remote install instructions** added to all 11 plugin READMEs — "From GitHub" section with clone + enabledPlugins setup from `https://github.com/AnExiledDev/CodeForge`
|
|
59
|
+
- **GHCR feature paths** — features README updated with `ghcr.io/anexileddev/codeforge/<feature-name>:<version>` and devcontainer.json usage examples
|
|
60
|
+
- **READMEs added** to session-context, skill-engine, spec-workflow plugins
|
|
61
|
+
- **Install sections added** to workspace-scope-guard, codeforge-lsp, dangerous-command-blocker, protected-files-guard, notify-hook, ticket-workflow
|
|
62
|
+
|
|
63
|
+
#### Other
|
|
64
|
+
- **Marketplace metadata** — `marketplace.json` restructured with `metadata` object, `pluginRoot`, and `keywords` arrays for all plugins
|
|
65
|
+
- **Port forwarding** for Claude Dashboard (port 7847) in devcontainer.json
|
|
66
|
+
- **ChromaTerm wrapper** in setup-aliases.sh — `cc`/`claude`/`ccw` aliases pipe through `ct` when available
|
|
67
|
+
- **`package.json` scripts** — added `prepublishOnly`, `docs:dev`, `docs:build`, `docs:preview`
|
|
68
|
+
|
|
69
|
+
#### ccstatusline Config Externalization
|
|
70
|
+
- **Widget config extracted** from inline `jq -n` generation in `install.sh` into `config/defaults/ccstatusline-settings.json` — editable JSON file, single source of truth
|
|
71
|
+
- **File-manifest deployment** — two new entries deploy the config to `~/.config/ccstatusline/settings.json` (if-changed) and `/usr/local/share/ccstatusline/settings.template.json` (always)
|
|
72
|
+
- **`${HOME}` variable expansion** added to `setup-config.sh` — enables manifest entries targeting user home directory paths
|
|
73
|
+
|
|
74
|
+
#### Development Rules
|
|
75
|
+
- **CLAUDE.md** (project root) — added changelog and documentation update rules: all changes must have a changelog entry and update relevant docs
|
|
76
|
+
|
|
77
|
+
### Changed
|
|
78
|
+
|
|
79
|
+
#### ccstatusline Feature
|
|
80
|
+
- `install.sh` simplified — removed ~90 lines of inline JSON config generation, validation, and template creation. Config deployment now handled by file-manifest system
|
|
81
|
+
|
|
82
|
+
#### Workspace Scope Guard
|
|
83
|
+
- Reads (Read, Glob, Grep) now **hard-blocked** outside scope — upgraded from warning (exit 0) to block (exit 2)
|
|
84
|
+
- Allowlist trimmed to `/workspaces/.claude/` and `/tmp/` only — removed `/workspaces/.devcontainer/`, `/workspaces/.tmp/`, `/home/vscode/`
|
|
85
|
+
- Hook timeout increased from 5s to 10s
|
|
86
|
+
- Matcher expanded to include Bash tool
|
|
87
|
+
|
|
88
|
+
#### Hook Output Schema Migration
|
|
89
|
+
- All hooks migrated to `hookSpecificOutput` wrapper with explicit `hookEventName`
|
|
90
|
+
- `commit-reminder.py` — upgraded from advisory to blocking (`decision: block`)
|
|
91
|
+
- `spec-reminder.py` — upgraded from advisory to blocking (`decision: block`)
|
|
92
|
+
- `advisory-test-runner.py` — test failures now block with `decision: block`; passes/timeouts use `systemMessage`
|
|
93
|
+
- `ticket-linker.py` — output wrapped in `hookSpecificOutput`
|
|
94
|
+
- `git-state-injector.py`, `todo-harvester.py` — output wrapped in `hookSpecificOutput`
|
|
95
|
+
|
|
96
|
+
#### Ticket Workflow
|
|
97
|
+
- Migrated from slash commands to skill-based approach — 4 slash commands and system-prompt.md replaced by skills directory
|
|
98
|
+
|
|
99
|
+
#### Skill Definitions
|
|
100
|
+
- All 21+ SKILL.md files rewritten with USE WHEN / DO NOT USE guidance, action-oriented descriptions, bumped to v0.2.0
|
|
101
|
+
- `skill-suggester.py` keyword maps overhauled with natural phrases and concrete identifiers
|
|
102
|
+
- Skill suggestion output changed to mandatory directive format
|
|
103
|
+
- SubagentStart hook removed — suggestions now fire on UserPromptSubmit only
|
|
104
|
+
|
|
105
|
+
#### Error Output
|
|
106
|
+
- `block-dangerous.py` — errors now written to stderr (was JSON on stdout)
|
|
107
|
+
- `guard-protected.py`, `guard-protected-bash.py` — errors now written to stderr
|
|
108
|
+
|
|
109
|
+
#### Features
|
|
110
|
+
- `ccstatusline` — compact 3-line layout (was 8-line), `rawValue: true` on token widgets
|
|
111
|
+
- `claude-session-dashboard` — default port 3000 → 7847, `--host 0.0.0.0` for external access
|
|
112
|
+
- `ccms` — build cache moved from `.devcontainer/.build-cache/` to `${TMPDIR:-/tmp}/ccms-build-cache`
|
|
113
|
+
|
|
114
|
+
#### Configuration
|
|
115
|
+
- `CLAUDE.md` (devcontainer) — condensed from ~308 to ~90 lines, removed redundant sections
|
|
116
|
+
- `spec-workflow.md` rule — condensed, defers to system prompt `<specification_management>` section
|
|
117
|
+
- `main-system-prompt.md` — expanded Agent Teams guidance: file ownership, task sizing, quality gate hooks, plan approval
|
|
118
|
+
- Plugin `plugin.json` files — `version` field removed across all plugins
|
|
119
|
+
|
|
120
|
+
### Fixed
|
|
121
|
+
- Stale references to deleted features (mcp-reasoner, splitrail, claude-code) removed from docs
|
|
122
|
+
- Documentation counts updated (features: 21, agents: 17, skills: 34)
|
|
123
|
+
- Version mismatch in README.md corrected
|
|
124
|
+
- Auto-formatter/auto-linter references consolidated to auto-code-quality throughout
|
|
125
|
+
- Code-directive plugin references updated to agent-system, skill-engine, spec-workflow
|
|
126
|
+
- Personal project paths removed from .gitignore and .npmignore
|
|
127
|
+
- setup.js stale feature references fixed (Reasoner MCP, Go → Rust)
|
|
128
|
+
- `.secrets` added to .npmignore for npm publish safety
|
|
129
|
+
- Duplicate "### Fixed" header in v1.5.3 changelog entry
|
|
130
|
+
- NVM sourcing added to biome install script
|
|
131
|
+
- Cleanup trap added to shellcheck install script
|
|
132
|
+
|
|
133
|
+
### Removed
|
|
134
|
+
- **`auto-formatter` plugin** — deleted entirely (consolidated into auto-code-quality)
|
|
135
|
+
- **`auto-linter` plugin** — deleted entirely (consolidated into auto-code-quality)
|
|
136
|
+
- **`/debug` slash command** from agent-system (replaced by debug skill)
|
|
137
|
+
- **4 ticket-workflow slash commands** (`ticket:new`, `ticket:work`, `ticket:review-commit`, `ticket:create-pr`) and `system-prompt.md` (replaced by skills)
|
|
138
|
+
- **Optional features docs** for mcp-reasoner and splitrail (features no longer exist)
|
|
139
|
+
- **SubagentStart hook** from skill-engine (suggestion now UserPromptSubmit only)
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## [v1.13.0] - 2026-02-21
|
|
144
|
+
|
|
145
|
+
### Fixed
|
|
146
|
+
|
|
147
|
+
- Feature version pins: node `1.6`→`1.7.1`, github-cli `1.0`→`1.1.0`, docker-outside-of-docker `1.7`→`1.6`, rust `1.4`→`1.5.0`, claude-code `1.1`→`1.0.5`
|
|
148
|
+
- setup-projects.sh: suppress background inotifywait output
|
|
149
|
+
- agent-system: add missing `verify-tests-pass.py` and `verify-no-regression.py` (referenced by agent defs)
|
|
150
|
+
|
|
151
|
+
### Added
|
|
152
|
+
|
|
153
|
+
#### Plugin Architecture: Focused Plugins
|
|
154
|
+
- **`agent-system` plugin** — 17 custom agents with built-in agent redirection, CWD injection, and read-only bash enforcement
|
|
155
|
+
- **`skill-engine` plugin** — 21 coding skills with auto-suggestion hook
|
|
156
|
+
- **`spec-workflow` plugin** — 8 spec lifecycle skills with spec-reminder hook
|
|
157
|
+
- **`session-context` plugin** — session boundary hooks (git state injection, TODO harvesting, commit reminders)
|
|
158
|
+
|
|
159
|
+
#### Other
|
|
160
|
+
- **`ticket-workflow` hooks** — auto-links GitHub issue/PR references in user prompts via `ticket-linker.py`
|
|
161
|
+
- **`auto-code-quality` advisory test runner** — runs affected tests at Stop via `advisory-test-runner.py`
|
|
162
|
+
- **`/team` skill** — agent team creation and management with specialist catalog (in `skill-engine`)
|
|
163
|
+
- **`claude-session-dashboard` feature** — local analytics dashboard for Claude Code sessions (token usage, tool calls, cost estimates, activity heatmaps). Installed globally via npm with `claude-dashboard` command. Settings persist across rebuilds via symlink to `/workspaces/.claude-dashboard/`
|
|
164
|
+
|
|
165
|
+
### Changed
|
|
166
|
+
|
|
167
|
+
- Plugin architecture: `code-directive` monolith replaced by focused plugins (`agent-system`, `skill-engine`, `spec-workflow`, `session-context`)
|
|
168
|
+
- `auto-code-quality` now consolidates `auto-formatter` + `auto-linter` (disabled separately, `auto-code-quality` is the superset)
|
|
169
|
+
- **`workspace-scope.md` rule hardened** — strict enforcement with no exceptions; all file operations must target paths within the current project directory
|
|
170
|
+
|
|
171
|
+
### Removed
|
|
172
|
+
|
|
173
|
+
- `code-directive` plugin (replaced by `agent-system`, `skill-engine`, `spec-workflow`, `session-context`)
|
|
174
|
+
- `auto-formatter` and `auto-linter` disabled in settings (consolidated into `auto-code-quality`)
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
3
178
|
## [v1.12.0] - 2026-02-18
|
|
4
179
|
|
|
5
180
|
### Added
|
|
@@ -451,8 +626,6 @@
|
|
|
451
626
|
- **ccstatusline powerline glyphs**: Powerline separators/caps were empty strings, rendering as underscores. Now uses proper Nerd Font glyphs (U+E0B0, U+E0B4, U+E0B6)
|
|
452
627
|
- **Unicode rendering in external terminals**: tmux rendered ALL Unicode as underscores because `docker exec` doesn't propagate locale vars. External terminal scripts now pass `LANG`/`LC_ALL=en_US.UTF-8` and use `tmux -u` to force UTF-8 mode. Locale exports also added to `.bashrc`/`.zshrc` as permanent fallback
|
|
453
628
|
|
|
454
|
-
### Fixed
|
|
455
|
-
|
|
456
629
|
- **cc/claude aliases**: Converted from shell functions to simple aliases — functions were not reliably invoked across shell contexts (tmux, docker exec, external terminals), causing Claude to launch without config
|
|
457
630
|
- **CLAUDE_CONFIG_DIR export**: Now exported in `.bashrc`/`.zshrc` directly, so credentials are found in all shells (not just VS Code terminals where `remoteEnv` applies)
|
|
458
631
|
|
package/.devcontainer/CLAUDE.md
CHANGED
|
@@ -5,300 +5,93 @@ CodeForge devcontainer for AI-assisted development with Claude Code.
|
|
|
5
5
|
## Directory Structure
|
|
6
6
|
|
|
7
7
|
```
|
|
8
|
-
/
|
|
9
|
-
├── .
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
│ ├──
|
|
13
|
-
│
|
|
14
|
-
│
|
|
15
|
-
│
|
|
16
|
-
│
|
|
17
|
-
│
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
│ │ └── devs-marketplace/
|
|
22
|
-
│ └── scripts/ # Setup scripts
|
|
23
|
-
├── .claude/ # Runtime Claude config (created on first run)
|
|
24
|
-
│ ├── settings.json # Active settings (managed by file-manifest.json)
|
|
25
|
-
│ ├── keybindings.json # Active keybindings
|
|
26
|
-
│ └── main-system-prompt.md # Active system prompt
|
|
27
|
-
└── .gh/ # GitHub CLI config (persists across rebuilds)
|
|
28
|
-
└── hosts.yml # Authenticated hosts
|
|
8
|
+
.devcontainer/
|
|
9
|
+
├── devcontainer.json # Container definition
|
|
10
|
+
├── .env # Setup flags (SETUP_CONFIG, SETUP_ALIASES, etc.)
|
|
11
|
+
├── config/
|
|
12
|
+
│ ├── file-manifest.json # Declarative config file deployment
|
|
13
|
+
│ └── defaults/ # Source files deployed on start via file-manifest
|
|
14
|
+
│ ├── settings.json # Model, permissions, plugins, env vars
|
|
15
|
+
│ ├── main-system-prompt.md
|
|
16
|
+
│ ├── ccstatusline-settings.json # Status bar widget layout
|
|
17
|
+
│ └── rules/ # Deployed to .claude/rules/
|
|
18
|
+
├── features/ # Custom devcontainer features
|
|
19
|
+
├── plugins/devs-marketplace/ # Local plugin marketplace
|
|
20
|
+
└── scripts/ # Setup scripts (run via postStartCommand)
|
|
29
21
|
```
|
|
30
22
|
|
|
31
|
-
## Key Configuration
|
|
23
|
+
## Key Configuration
|
|
32
24
|
|
|
33
25
|
| File | Purpose |
|
|
34
26
|
|------|---------|
|
|
35
|
-
| `
|
|
36
|
-
|
|
|
37
|
-
| `config/
|
|
38
|
-
| `config/
|
|
39
|
-
| `
|
|
40
|
-
| `
|
|
41
|
-
| `config/defaults/writing-system-prompt.md` | Creative-writing system prompt used by `ccw` alias |
|
|
27
|
+
| `config/defaults/settings.json` | Model, tokens, permissions, plugins, env vars |
|
|
28
|
+
| `config/defaults/main-system-prompt.md` | System prompt defining assistant behavior |
|
|
29
|
+
| `config/defaults/ccstatusline-settings.json` | Status bar widget layout (deployed to ~/.config/ccstatusline/) |
|
|
30
|
+
| `config/file-manifest.json` | Controls which config files deploy and when |
|
|
31
|
+
| `devcontainer.json` | Container definition: image, features, mounts |
|
|
32
|
+
| `.env` | Boolean flags controlling setup steps |
|
|
42
33
|
|
|
43
|
-
|
|
34
|
+
Config files deploy via `file-manifest.json` on every container start. Most deploy to `/workspaces/.claude/`; ccstatusline config deploys to `~/.config/ccstatusline/`. Each entry supports `overwrite`: `"if-changed"` (default, sha256), `"always"`, or `"never"`. Supported variables: `${CLAUDE_CONFIG_DIR}`, `${WORKSPACE_ROOT}`, `${HOME}`.
|
|
44
35
|
|
|
45
36
|
## Commands
|
|
46
37
|
|
|
47
38
|
| Command | Purpose |
|
|
48
39
|
|---------|---------|
|
|
49
|
-
| `claude` | Run Claude Code with auto-configuration
|
|
50
|
-
| `
|
|
51
|
-
| `
|
|
52
|
-
| `
|
|
53
|
-
| `ccusage` |
|
|
54
|
-
| `
|
|
55
|
-
| `agent-browser` | Headless Chromium for browser automation (Playwright-based) |
|
|
56
|
-
| `gh` | GitHub CLI for repo operations |
|
|
57
|
-
| `uv` | Fast Python package manager |
|
|
58
|
-
| `ast-grep` | Structural code search |
|
|
59
|
-
| `ccms` | Search Claude Code session history (project-scoped) |
|
|
60
|
-
| `cc-tools` | List all installed tools with version info |
|
|
40
|
+
| `cc` / `claude` | Run Claude Code with auto-configuration |
|
|
41
|
+
| `ccraw` | Vanilla Claude Code (bypasses config) |
|
|
42
|
+
| `ccw` | Claude Code with writing system prompt |
|
|
43
|
+
| `ccms` | Search session history (project-scoped) |
|
|
44
|
+
| `ccusage` / `ccburn` | Token usage analysis / burn rate |
|
|
45
|
+
| `agent-browser` | Headless Chromium (Playwright-based) |
|
|
61
46
|
| `check-setup` | Verify CodeForge setup health |
|
|
47
|
+
| `claude-dashboard` | Session analytics dashboard (port 7847) |
|
|
48
|
+
| `cc-tools` | List all installed tools with versions |
|
|
49
|
+
|
|
50
|
+
## Plugins
|
|
51
|
+
|
|
52
|
+
Declared in `settings.json` under `enabledPlugins`, auto-activated on start:
|
|
53
|
+
|
|
54
|
+
- **agent-system** — 17 custom agents + built-in agent redirection
|
|
55
|
+
- **skill-engine** — 21 general coding skills + auto-suggestion
|
|
56
|
+
- **spec-workflow** — 8 spec lifecycle skills + spec-reminder hook
|
|
57
|
+
- **session-context** — Git state injection, TODO harvesting, commit reminders
|
|
58
|
+
- **auto-code-quality** — Auto-format + auto-lint + advisory test runner
|
|
59
|
+
- **workspace-scope-guard** — Blocks writes outside working directory
|
|
60
|
+
- **dangerous-command-blocker** — Blocks destructive bash commands
|
|
61
|
+
- **protected-files-guard** — Blocks edits to secrets/lock files
|
|
62
|
+
- **codeforge-lsp** — LSP for Python + TypeScript/JavaScript
|
|
63
|
+
- **ticket-workflow** — EARS ticket workflow + auto-linking
|
|
64
|
+
- **notify-hook** — Desktop notifications on completion
|
|
65
|
+
- **frontend-design** (Anthropic official) — UI/frontend design skill
|
|
62
66
|
|
|
63
|
-
##
|
|
64
|
-
|
|
65
|
-
Custom features live in `./features/`. Each feature follows the [devcontainer feature spec](https://containers.dev/implementors/features/):
|
|
66
|
-
|
|
67
|
-
```
|
|
68
|
-
features/
|
|
69
|
-
└── my-feature/
|
|
70
|
-
├── devcontainer-feature.json # Metadata and options
|
|
71
|
-
├── install.sh # Installation script
|
|
72
|
-
└── README.md # Documentation
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
To test a feature locally, reference it in `devcontainer.json`:
|
|
76
|
-
```json
|
|
77
|
-
"features": {
|
|
78
|
-
"./features/my-feature": {}
|
|
79
|
-
}
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
> **Note**: Claude Code is installed via `ghcr.io/anthropics/devcontainer-features/claude-code:1` (Anthropic's official feature).
|
|
83
|
-
|
|
84
|
-
### Disabling Features with `version: "none"`
|
|
85
|
-
|
|
86
|
-
Every local feature supports `"version": "none"` to skip installation entirely. This is useful for trimming build time or disabling tools you don't need without removing them from `devcontainer.json`.
|
|
87
|
-
|
|
88
|
-
```json
|
|
89
|
-
"features": {
|
|
90
|
-
"./features/ruff": { "version": "none" },
|
|
91
|
-
"./features/biome": {},
|
|
92
|
-
"./features/hadolint": { "version": "none" }
|
|
93
|
-
}
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
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.
|
|
97
|
-
|
|
98
|
-
**Currently disabled features** (not needed for Python/JS/TS workflow):
|
|
99
|
-
|
|
100
|
-
| Feature | Handles | Reason |
|
|
101
|
-
|---------|---------|--------|
|
|
102
|
-
| `shfmt` | Shell formatting | Not needed — Python/JS/TS only |
|
|
103
|
-
| `shellcheck` | Shell linting | Not needed — Python/JS/TS only |
|
|
104
|
-
| `hadolint` | Dockerfile linting | Not needed — Python/JS/TS only |
|
|
105
|
-
| `dprint` | Markdown/YAML/TOML/Dockerfile formatting | Not needed — Python/JS/TS only |
|
|
106
|
-
|
|
107
|
-
The auto-formatter and auto-linter plugins gracefully skip missing tools at runtime.
|
|
108
|
-
|
|
109
|
-
**All local features support this pattern:**
|
|
110
|
-
ast-grep, biome, ccms, ccstatusline, claude-monitor, dprint, hadolint, lsp-servers, mcp-qdrant, mcp-reasoner, notify-hook, ruff, shfmt, shellcheck, splitrail, tmux
|
|
111
|
-
|
|
112
|
-
**External features with `version: "none"` support:**
|
|
113
|
-
`ghcr.io/devcontainers/features/node`, `ghcr.io/devcontainers/features/github-cli`, `ghcr.io/devcontainers/features/docker-outside-of-docker`, `ghcr.io/devcontainers/features/go` (all official Microsoft features)
|
|
114
|
-
|
|
115
|
-
**External features without `version: "none"` support:**
|
|
116
|
-
`ghcr.io/devcontainers-extra/features/uv`, `ghcr.io/anthropics/devcontainer-features/claude-code`, `ghcr.io/rails/devcontainer/features/bun`
|
|
117
|
-
|
|
118
|
-
**External features with `version: "none"` support (Rust):**
|
|
119
|
-
`ghcr.io/devcontainers/features/rust` (official Microsoft feature)
|
|
120
|
-
|
|
121
|
-
> **Convention**: Every new local feature must include a `version` option (default `"latest"`) in its `devcontainer-feature.json` and a skip guard at the top of `install.sh`:
|
|
122
|
-
> ```bash
|
|
123
|
-
> if [ "${VERSION}" = "none" ]; then
|
|
124
|
-
> echo "[feature-name] Skipping installation (version=none)"
|
|
125
|
-
> exit 0
|
|
126
|
-
> fi
|
|
127
|
-
> ```
|
|
128
|
-
|
|
129
|
-
## Setup Scripts
|
|
130
|
-
|
|
131
|
-
Scripts in `./scripts/` run via `postStartCommand`:
|
|
132
|
-
|
|
133
|
-
| Script | Purpose |
|
|
134
|
-
|--------|---------|
|
|
135
|
-
| `setup.sh` | Main orchestrator |
|
|
136
|
-
| `setup-config.sh` | Copies config files per `config/file-manifest.json` to destinations |
|
|
137
|
-
| `setup-aliases.sh` | Creates `cc`/`claude`/`ccraw`/`ccw` shell aliases (prefers native binary at `~/.local/bin/claude` via `_CLAUDE_BIN`) |
|
|
138
|
-
| `setup-plugins.sh` | Registers local marketplace + installs official Anthropic plugins |
|
|
139
|
-
| `setup-update-claude.sh` | Installs native Claude Code binary on first run; background auto-updates on subsequent starts |
|
|
140
|
-
| `setup-terminal.sh` | Configures VS Code Shift+Enter keybinding for Claude Code multi-line input |
|
|
141
|
-
| `setup-projects.sh` | Auto-detects projects for VS Code Project Manager |
|
|
142
|
-
| `setup-auth.sh` | Configures Git and NPM auth from `.secrets` file or environment variables |
|
|
143
|
-
| `check-setup.sh` | Verifies CodeForge setup health (binary paths, config files, features) |
|
|
144
|
-
| `setup-symlink-claude.sh` | Symlinks ~/.claude for third-party tool compatibility |
|
|
145
|
-
|
|
146
|
-
### External Terminal
|
|
147
|
-
|
|
148
|
-
`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:
|
|
149
|
-
```bash
|
|
150
|
-
.devcontainer/connect-external-terminal.sh
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
On Windows, use `connect-external-terminal.ps1` (PowerShell equivalent).
|
|
154
|
-
|
|
155
|
-
## Installed Plugins
|
|
156
|
-
|
|
157
|
-
Plugins are declared in `config/defaults/settings.json` under `enabledPlugins` and auto-activated on container start:
|
|
158
|
-
|
|
159
|
-
### Official (Anthropic)
|
|
160
|
-
- `frontend-design@claude-plugins-official` — UI/frontend design skill
|
|
161
|
-
|
|
162
|
-
### Local Marketplace (devs-marketplace)
|
|
163
|
-
- `codeforge-lsp@devs-marketplace` — LSP for Python + TypeScript/JavaScript
|
|
164
|
-
- `ticket-workflow@devs-marketplace` — EARS-based ticket workflow with GitHub integration
|
|
165
|
-
- `notify-hook@devs-marketplace` — Desktop notifications on completion
|
|
166
|
-
- `dangerous-command-blocker@devs-marketplace` — Blocks destructive bash commands
|
|
167
|
-
- `protected-files-guard@devs-marketplace` — Blocks edits to secrets/lock files
|
|
168
|
-
- `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)
|
|
169
|
-
- `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)
|
|
170
|
-
- `code-directive@devs-marketplace` — 17 custom agents, 28 skills, syntax validation, skill suggestions, agent redirect hook
|
|
171
|
-
- `workspace-scope-guard@devs-marketplace` — Blocks writes and warns on reads outside the working directory
|
|
172
|
-
|
|
173
|
-
### Local Marketplace
|
|
174
|
-
|
|
175
|
-
The `devs-marketplace` in `plugins/` provides locally-managed plugins:
|
|
176
|
-
|
|
177
|
-
```
|
|
178
|
-
plugins/devs-marketplace/
|
|
179
|
-
├── .claude-plugin/
|
|
180
|
-
│ └── marketplace.json # Marketplace manifest
|
|
181
|
-
└── plugins/
|
|
182
|
-
├── codeforge-lsp/ # Combined LSP plugin
|
|
183
|
-
├── ticket-workflow/ # EARS ticket workflow
|
|
184
|
-
├── auto-formatter/ # Batch formatter (Stop hook)
|
|
185
|
-
├── auto-linter/ # Pyright linter
|
|
186
|
-
├── code-directive/ # Agents, skills + hooks
|
|
187
|
-
├── workspace-scope-guard/ # Workspace scope enforcement
|
|
188
|
-
└── ...
|
|
189
|
-
```
|
|
190
|
-
|
|
191
|
-
## Agents & Skills
|
|
192
|
-
|
|
193
|
-
The `code-directive` plugin includes 17 custom agent definitions and 28 coding reference skills.
|
|
194
|
-
|
|
195
|
-
**Agents** (`plugins/devs-marketplace/plugins/code-directive/agents/`):
|
|
196
|
-
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
|
|
197
|
-
|
|
198
|
-
The `redirect-builtin-agents.py` hook (PreToolUse/Task) transparently swaps built-in agent types to these custom agents (e.g., Explore→explorer, Plan→architect).
|
|
199
|
-
|
|
200
|
-
**Skills** (`plugins/devs-marketplace/plugins/code-directive/skills/`):
|
|
201
|
-
api-design, ast-grep-patterns, claude-agent-sdk, claude-code-headless, debugging, dependency-management, docker, docker-py, documentation-patterns, fastapi, git-forensics, migration-patterns, performance-profiling, pydantic-ai, refactoring-patterns, security-checklist, skill-building, spec-build, spec-check, spec-init, spec-new, spec-refine, spec-review, spec-update, specification-writing, sqlite, svelte5, testing
|
|
202
|
-
|
|
203
|
-
## VS Code Keybinding Conflicts
|
|
204
|
-
|
|
205
|
-
Claude Code runs inside VS Code's integrated terminal. VS Code intercepts some shortcuts before they reach the terminal:
|
|
67
|
+
## Rules System
|
|
206
68
|
|
|
207
|
-
|
|
208
|
-
|----------|---------------|-------------------|
|
|
209
|
-
| `Ctrl+G` | Go to Line | `chat:externalEditor` |
|
|
210
|
-
| `Ctrl+S` | Save File | `chat:stash` |
|
|
211
|
-
| `Ctrl+T` | Open Symbol | `app:toggleTodos` |
|
|
212
|
-
| `Ctrl+O` | Open File | `app:toggleTranscript` |
|
|
213
|
-
| `Ctrl+B` | Toggle Sidebar | `task:background` |
|
|
214
|
-
| `Ctrl+P` | Quick Open | `chat:modelPicker` |
|
|
215
|
-
| `Ctrl+R` | Open Recent | `history:search` |
|
|
69
|
+
Rules in `config/defaults/rules/` deploy to `.claude/rules/` on every container start. They load into ALL sessions automatically.
|
|
216
70
|
|
|
217
|
-
|
|
71
|
+
**Current rules:** `spec-workflow.md`, `workspace-scope.md`, `session-search.md`
|
|
218
72
|
|
|
219
|
-
|
|
73
|
+
**Adding rules:** Create `.md` in `config/defaults/rules/`, add a manifest entry in `file-manifest.json`.
|
|
220
74
|
|
|
221
|
-
|
|
75
|
+
## Environment
|
|
222
76
|
|
|
223
77
|
| Variable | Value |
|
|
224
78
|
|----------|-------|
|
|
225
|
-
| `WORKSPACE_ROOT` | `/workspaces` |
|
|
226
79
|
| `CLAUDE_CONFIG_DIR` | `/workspaces/.claude` |
|
|
227
|
-
| `GH_CONFIG_DIR` | `/workspaces/.gh` |
|
|
228
80
|
| `ANTHROPIC_MODEL` | `claude-opus-4-6` |
|
|
229
|
-
| `
|
|
230
|
-
| `CLAUDECODE` | `null` (unset) |
|
|
231
|
-
|
|
232
|
-
Setting `"CLAUDECODE": null` in `remoteEnv` unsets this variable inside the container, which allows nested Claude Code sessions (claude-in-claude) that would otherwise be blocked by the outer session's detection flag.
|
|
233
|
-
|
|
234
|
-
All setup steps are controlled by boolean flags in `.devcontainer/.env`. Set any to `false` to disable:
|
|
235
|
-
`SETUP_CONFIG`, `SETUP_ALIASES`, `SETUP_AUTH`, `SETUP_PLUGINS`, `SETUP_UPDATE_CLAUDE`, `SETUP_TERMINAL`, `SETUP_PROJECTS`, `SETUP_POSTSTART`.
|
|
236
|
-
|
|
237
|
-
### Experimental Environment Variables
|
|
238
|
-
|
|
239
|
-
These are set in `config/defaults/settings.json` under `env` and control Claude Code experimental features:
|
|
240
|
-
|
|
241
|
-
| Variable | Value | Description |
|
|
242
|
-
|----------|-------|-------------|
|
|
243
|
-
| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | `1` | Enables Agent Teams (multi-agent orchestration) |
|
|
244
|
-
| `CLAUDE_CODE_EFFORT_LEVEL` | `high` | Sets reasoning effort level |
|
|
245
|
-
| `CLAUDE_CODE_ENABLE_TASKS` | `true` | Enables the task/todo system |
|
|
246
|
-
| `CLAUDE_CODE_PLAN_MODE_INTERVIEW_PHASE` | `true` | Enables interview phase before plan execution |
|
|
247
|
-
| `CLAUDE_CODE_PLAN_V2_AGENT_COUNT` | `3` | Number of agents in Plan V2 orchestration |
|
|
248
|
-
| `CLAUDE_CODE_PLAN_MODE_REQUIRED` | `true` | Forces plan mode for teammate agents |
|
|
249
|
-
| `ENABLE_CLAUDE_CODE_SM_COMPACT` | `1` | Enables smart compaction for context management |
|
|
250
|
-
| `CLAUDE_CODE_FORCE_GLOBAL_CACHE` | `1` | Forces global prompt caching |
|
|
251
|
-
| `FORCE_AUTOUPDATE_PLUGINS` | `1` | Auto-updates plugins on every session start |
|
|
252
|
-
|
|
253
|
-
## Git Worktrees
|
|
254
|
-
|
|
255
|
-
CodeForge supports git worktrees for working on multiple branches simultaneously.
|
|
256
|
-
|
|
257
|
-
### Layout
|
|
258
|
-
|
|
259
|
-
Worktrees live in a `.worktrees/` directory alongside the main repo:
|
|
260
|
-
|
|
261
|
-
```
|
|
262
|
-
/workspaces/projects/
|
|
263
|
-
├── CodeForge/ # main repo (.git directory)
|
|
264
|
-
└── .worktrees/ # worktree container
|
|
265
|
-
├── feature-a/ # worktree checkout (.git file)
|
|
266
|
-
└── bugfix-b/ # worktree checkout (.git file)
|
|
267
|
-
```
|
|
268
|
-
|
|
269
|
-
### Creating Compatible Worktrees
|
|
270
|
-
|
|
271
|
-
```bash
|
|
272
|
-
cd /workspaces/projects/CodeForge
|
|
273
|
-
mkdir -p /workspaces/projects/.worktrees
|
|
274
|
-
git worktree add /workspaces/projects/.worktrees/my-branch my-branch
|
|
275
|
-
```
|
|
276
|
-
|
|
277
|
-
### Project Detection
|
|
278
|
-
|
|
279
|
-
- `setup-projects.sh` scans `.worktrees/` directories at depth 3 (inside container dirs like `projects/`)
|
|
280
|
-
- Worktrees are detected by their `.git` file (containing `gitdir:`) and tagged with both `"git"` and `"worktree"` in Project Manager
|
|
281
|
-
- Each worktree appears as an independent project in VS Code Project Manager
|
|
282
|
-
|
|
283
|
-
### Compatibility
|
|
81
|
+
| `WORKSPACE_ROOT` | `/workspaces` |
|
|
284
82
|
|
|
285
|
-
|
|
286
|
-
- `protected-files-guard` protects both `.git/` directories and `.git` files (worktree pointers)
|
|
287
|
-
- Read-only agents (e.g., git-archaeologist) can use `git worktree list` but cannot add/remove worktrees
|
|
83
|
+
All experimental feature flags are in `settings.json` under `env`. Setup steps controlled by boolean flags in `.env`.
|
|
288
84
|
|
|
289
85
|
## Modifying Behavior
|
|
290
86
|
|
|
291
|
-
1. **Change
|
|
87
|
+
1. **Change model**: Edit `config/defaults/settings.json` → `"model"` field
|
|
292
88
|
2. **Change system prompt**: Edit `config/defaults/main-system-prompt.md`
|
|
293
|
-
3. **
|
|
294
|
-
4. **Add
|
|
295
|
-
5. **
|
|
296
|
-
6. **Disable
|
|
297
|
-
|
|
298
|
-
## Rules System
|
|
299
|
-
|
|
300
|
-
Rules live in `config/defaults/rules/` and are copied to `.claude/rules/` by the file manifest (`config/file-manifest.json`) on every container start. Unlike CLAUDE.md (which loads on demand when entering a project), rules load automatically on every Claude Code session.
|
|
89
|
+
3. **Add config file**: Add entry to `config/file-manifest.json`
|
|
90
|
+
4. **Add features**: Add to `"features"` in `devcontainer.json`
|
|
91
|
+
5. **Disable features**: Set `"version": "none"` in the feature's config
|
|
92
|
+
6. **Disable setup steps**: Set flags to `false` in `.env`
|
|
93
|
+
7. **Customize status bar**: Edit `config/defaults/ccstatusline-settings.json`
|
|
301
94
|
|
|
302
|
-
|
|
95
|
+
## Features
|
|
303
96
|
|
|
304
|
-
|
|
97
|
+
Custom features in `./features/` follow the [devcontainer feature spec](https://containers.dev/implementors/features/). Every local feature supports `"version": "none"` to skip installation. Claude Code is installed via `ghcr.io/anthropics/devcontainer-features/claude-code:1`.
|
package/.devcontainer/README.md
CHANGED
|
@@ -189,6 +189,7 @@ claude --resume # Resume previous session
|
|
|
189
189
|
| `ccburn` | Visual token burn rate tracker with pace indicators |
|
|
190
190
|
| `ccstatusline` | Status bar display (integrated into Claude Code, not standalone CLI) |
|
|
191
191
|
| `claude-monitor` | Real-time usage tracking |
|
|
192
|
+
| `claude-dashboard` | Local session analytics dashboard (token usage, costs, timelines) |
|
|
192
193
|
|
|
193
194
|
## Configuration
|
|
194
195
|
|
|
@@ -270,6 +271,7 @@ CodeForge includes custom devcontainer features. Any feature can be disabled by
|
|
|
270
271
|
| `hadolint` | Dockerfile linter (disabled by default) |
|
|
271
272
|
| `dprint` | Pluggable formatter for Markdown/YAML/TOML (disabled by default) |
|
|
272
273
|
| `ccms` | Claude Code session history search |
|
|
274
|
+
| `claude-session-dashboard` | Local session analytics dashboard with web UI |
|
|
273
275
|
| `notify-hook` | Desktop notifications on Claude completion |
|
|
274
276
|
| `mcp-qdrant` | Qdrant vector database MCP server (optional) |
|
|
275
277
|
|
|
@@ -281,9 +283,9 @@ CodeForge includes custom devcontainer features. Any feature can be disabled by
|
|
|
281
283
|
| `protected-files-guard` | Blocks modifications to .env, lock files, .git/, and credentials |
|
|
282
284
|
| `workspace-scope-guard` | Enforces working directory scope — blocks writes and warns on reads outside the project |
|
|
283
285
|
|
|
284
|
-
### auto-code-quality
|
|
286
|
+
### auto-code-quality
|
|
285
287
|
|
|
286
|
-
|
|
288
|
+
Combined auto-formatter, auto-linter, and advisory test runner plugin at `plugins/devs-marketplace/plugins/auto-code-quality/`. Three-phase pipeline: collect edited files (PostToolUse), batch format + lint (Stop), and advisory test runner (Stop). Supports all languages from the former auto-formatter + auto-linter plugins. Replaces the separate `auto-formatter` and `auto-linter` plugins.
|
|
287
289
|
|
|
288
290
|
## Alias Management
|
|
289
291
|
|
|
@@ -301,11 +303,11 @@ All methods persist across container rebuilds via the bind-mounted `/workspaces/
|
|
|
301
303
|
|
|
302
304
|
## Agents & Skills
|
|
303
305
|
|
|
304
|
-
|
|
306
|
+
Agents and skills are distributed across focused plugins (replacing the former `code-directive` monolith).
|
|
305
307
|
|
|
306
|
-
### Custom Agents (17)
|
|
308
|
+
### Custom Agents (17) — `agent-system` plugin
|
|
307
309
|
|
|
308
|
-
Agent definitions in `plugins/devs-marketplace/plugins/
|
|
310
|
+
Agent definitions in `plugins/devs-marketplace/plugins/agent-system/agents/` provide enhanced behavior when spawned via the `Task` tool. The `redirect-builtin-agents.py` hook transparently swaps built-in agent types to these custom agents.
|
|
309
311
|
|
|
310
312
|
| Agent | Purpose |
|
|
311
313
|
|-------|---------|
|
|
@@ -327,11 +329,17 @@ Agent definitions in `plugins/devs-marketplace/plugins/code-directive/agents/` p
|
|
|
327
329
|
| `statusline-config` | ccstatusline configuration |
|
|
328
330
|
| `test-writer` | Test authoring with pass verification |
|
|
329
331
|
|
|
330
|
-
### Skills (
|
|
332
|
+
### General Skills (21) — `skill-engine` plugin
|
|
331
333
|
|
|
332
|
-
Skills in `plugins/devs-marketplace/plugins/
|
|
334
|
+
Skills in `plugins/devs-marketplace/plugins/skill-engine/skills/` provide domain-specific coding references:
|
|
333
335
|
|
|
334
|
-
`api-design` · `ast-grep-patterns` · `claude-agent-sdk` · `claude-code-headless` · `debugging` · `dependency-management` · `docker` · `docker-py` · `documentation-patterns` · `fastapi` · `git-forensics` · `migration-patterns` · `performance-profiling` · `pydantic-ai` · `refactoring-patterns` · `security-checklist` · `skill-building` · `
|
|
336
|
+
`api-design` · `ast-grep-patterns` · `claude-agent-sdk` · `claude-code-headless` · `debugging` · `dependency-management` · `docker` · `docker-py` · `documentation-patterns` · `fastapi` · `git-forensics` · `migration-patterns` · `performance-profiling` · `pydantic-ai` · `refactoring-patterns` · `security-checklist` · `skill-building` · `sqlite` · `svelte5` · `team` · `testing`
|
|
337
|
+
|
|
338
|
+
### Spec Skills (8) — `spec-workflow` plugin
|
|
339
|
+
|
|
340
|
+
Skills in `plugins/devs-marketplace/plugins/spec-workflow/skills/`:
|
|
341
|
+
|
|
342
|
+
`spec-build` · `spec-check` · `spec-init` · `spec-new` · `spec-refine` · `spec-review` · `spec-update` · `specification-writing`
|
|
335
343
|
|
|
336
344
|
## Specification Workflow
|
|
337
345
|
|
|
@@ -426,7 +434,7 @@ Common issues and solutions. For detailed troubleshooting, see [docs/troubleshoo
|
|
|
426
434
|
**CodeForge Documentation**:
|
|
427
435
|
- [Configuration Reference](docs/configuration-reference.md) — all env vars and config options
|
|
428
436
|
- [Plugin System](docs/plugins.md) — plugin architecture and per-plugin docs
|
|
429
|
-
- [Optional Features](docs/optional-features.md) — mcp-qdrant and other optional components
|
|
437
|
+
- [Optional Features](docs/optional-features.md) — mcp-qdrant and other optional components, disabling features
|
|
430
438
|
- [Keybinding Customization](docs/keybindings.md) — resolving VS Code conflicts
|
|
431
439
|
- [Troubleshooting](docs/troubleshooting.md) — common issues and solutions
|
|
432
440
|
|