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.
Files changed (226) hide show
  1. package/.devcontainer/CHANGELOG.md +175 -2
  2. package/.devcontainer/CLAUDE.md +61 -268
  3. package/.devcontainer/README.md +17 -9
  4. package/.devcontainer/config/defaults/ccstatusline-settings.json +147 -0
  5. package/.devcontainer/config/defaults/main-system-prompt.md +6 -1
  6. package/.devcontainer/config/defaults/rules/spec-workflow.md +1 -55
  7. package/.devcontainer/config/defaults/rules/workspace-scope.md +13 -4
  8. package/.devcontainer/config/defaults/settings.json +5 -3
  9. package/.devcontainer/config/file-manifest.json +14 -0
  10. package/.devcontainer/devcontainer.json +32 -7
  11. package/.devcontainer/docs/optional-features.md +0 -65
  12. package/.devcontainer/docs/plugins.md +38 -23
  13. package/.devcontainer/features/ast-grep/devcontainer-feature.json +0 -1
  14. package/.devcontainer/features/biome/install.sh +13 -0
  15. package/.devcontainer/features/ccburn/devcontainer-feature.json +0 -1
  16. package/.devcontainer/features/ccms/devcontainer-feature.json +0 -1
  17. package/.devcontainer/features/ccms/install.sh +1 -1
  18. package/.devcontainer/features/ccstatusline/devcontainer-feature.json +0 -1
  19. package/.devcontainer/features/ccstatusline/install.sh +17 -115
  20. package/.devcontainer/features/ccusage/devcontainer-feature.json +0 -1
  21. package/.devcontainer/features/chromaterm/README.md +42 -0
  22. package/.devcontainer/features/chromaterm/chromaterm.yml +35 -0
  23. package/.devcontainer/features/chromaterm/devcontainer-feature.json +22 -0
  24. package/.devcontainer/features/chromaterm/install.sh +113 -0
  25. package/.devcontainer/features/claude-monitor/devcontainer-feature.json +0 -1
  26. package/.devcontainer/features/claude-session-dashboard/README.md +40 -0
  27. package/.devcontainer/features/claude-session-dashboard/devcontainer-feature.json +34 -0
  28. package/.devcontainer/features/claude-session-dashboard/install.sh +172 -0
  29. package/.devcontainer/features/kitty-terminfo/README.md +32 -0
  30. package/.devcontainer/features/kitty-terminfo/devcontainer-feature.json +13 -0
  31. package/.devcontainer/features/kitty-terminfo/install.sh +72 -0
  32. package/.devcontainer/features/lsp-servers/devcontainer-feature.json +0 -1
  33. package/.devcontainer/features/mcp-qdrant/devcontainer-feature.json +0 -1
  34. package/.devcontainer/features/shellcheck/install.sh +6 -2
  35. package/.devcontainer/features/tree-sitter/devcontainer-feature.json +0 -1
  36. package/.devcontainer/plugins/devs-marketplace/.claude-plugin/marketplace.json +48 -59
  37. package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/.claude-plugin/plugin.json +7 -0
  38. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/AGENT-REDIRECTION.md +7 -12
  39. package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/README.md +197 -0
  40. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/REVIEW-RUBRIC.md +1 -1
  41. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/architect.md +3 -1
  42. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/bash-exec.md +3 -0
  43. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/claude-guide.md +5 -2
  44. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/debug-logs.md +7 -2
  45. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/dependency-analyst.md +6 -2
  46. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/doc-writer.md +4 -1
  47. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/explorer.md +4 -2
  48. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/generalist.md +10 -2
  49. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/git-archaeologist.md +5 -2
  50. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/migrator.md +4 -1
  51. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/perf-profiler.md +4 -1
  52. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/refactorer.md +5 -1
  53. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/researcher.md +6 -2
  54. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/security-auditor.md +5 -2
  55. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/spec-writer.md +3 -1
  56. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/statusline-config.md +4 -1
  57. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/test-writer.md +4 -1
  58. package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/hooks/hooks.json +51 -0
  59. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/scripts/guard-readonly-bash.py +2 -2
  60. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/scripts/inject-cwd.py +7 -4
  61. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/scripts/redirect-builtin-agents.py +17 -6
  62. package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/scripts/task-completed-check.py +166 -0
  63. package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/scripts/teammate-idle-check.py +81 -0
  64. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/scripts/verify-no-regression.py +14 -10
  65. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/scripts/verify-tests-pass.py +2 -14
  66. package/.devcontainer/plugins/devs-marketplace/plugins/auto-code-quality/README.md +17 -31
  67. package/.devcontainer/plugins/devs-marketplace/plugins/auto-code-quality/hooks/hooks.json +5 -1
  68. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → auto-code-quality}/scripts/advisory-test-runner.py +9 -8
  69. package/.devcontainer/plugins/devs-marketplace/plugins/codeforge-lsp/README.md +28 -0
  70. package/.devcontainer/plugins/devs-marketplace/plugins/dangerous-command-blocker/README.md +28 -0
  71. package/.devcontainer/plugins/devs-marketplace/plugins/dangerous-command-blocker/scripts/block-dangerous.py +2 -2
  72. package/.devcontainer/plugins/devs-marketplace/plugins/notify-hook/README.md +28 -0
  73. package/.devcontainer/plugins/devs-marketplace/plugins/notify-hook/hooks/hooks.json +0 -1
  74. package/.devcontainer/plugins/devs-marketplace/plugins/protected-files-guard/README.md +28 -0
  75. package/.devcontainer/plugins/devs-marketplace/plugins/protected-files-guard/scripts/guard-protected-bash.py +1 -1
  76. package/.devcontainer/plugins/devs-marketplace/plugins/protected-files-guard/scripts/guard-protected.py +2 -2
  77. package/.devcontainer/plugins/devs-marketplace/plugins/session-context/.claude-plugin/plugin.json +7 -0
  78. package/.devcontainer/plugins/devs-marketplace/plugins/session-context/README.md +140 -0
  79. package/.devcontainer/plugins/devs-marketplace/plugins/session-context/hooks/hooks.json +33 -0
  80. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → session-context}/scripts/commit-reminder.py +3 -2
  81. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → session-context}/scripts/git-state-injector.py +18 -2
  82. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → session-context}/scripts/todo-harvester.py +9 -1
  83. package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/.claude-plugin/plugin.json +7 -0
  84. package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/README.md +158 -0
  85. package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/hooks/hooks.json +16 -0
  86. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/scripts/skill-suggester.py +189 -100
  87. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/api-design/SKILL.md +9 -6
  88. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/ast-grep-patterns/SKILL.md +7 -6
  89. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/claude-agent-sdk/SKILL.md +8 -8
  90. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/claude-code-headless/SKILL.md +8 -9
  91. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/debugging/SKILL.md +11 -7
  92. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/dependency-management/SKILL.md +10 -6
  93. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/docker/SKILL.md +8 -8
  94. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/docker-py/SKILL.md +9 -7
  95. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/documentation-patterns/SKILL.md +7 -6
  96. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/fastapi/SKILL.md +9 -8
  97. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/git-forensics/SKILL.md +11 -9
  98. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/migration-patterns/SKILL.md +7 -6
  99. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/performance-profiling/SKILL.md +10 -8
  100. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/pydantic-ai/SKILL.md +8 -7
  101. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/refactoring-patterns/SKILL.md +9 -8
  102. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/security-checklist/SKILL.md +9 -8
  103. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/skill-building/SKILL.md +7 -7
  104. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/sqlite/SKILL.md +9 -7
  105. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/svelte5/SKILL.md +7 -8
  106. package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/skills/team/SKILL.md +271 -0
  107. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/testing/SKILL.md +10 -7
  108. package/.devcontainer/plugins/devs-marketplace/plugins/spec-workflow/.claude-plugin/plugin.json +7 -0
  109. package/.devcontainer/plugins/devs-marketplace/plugins/spec-workflow/README.md +192 -0
  110. package/.devcontainer/plugins/devs-marketplace/plugins/spec-workflow/hooks/hooks.json +16 -0
  111. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/scripts/spec-reminder.py +3 -2
  112. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-build/SKILL.md +9 -6
  113. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-check/SKILL.md +10 -5
  114. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-init/SKILL.md +8 -4
  115. package/.devcontainer/plugins/devs-marketplace/plugins/spec-workflow/skills/spec-init/references/roadmap-template.md +33 -0
  116. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-new/SKILL.md +8 -4
  117. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-refine/SKILL.md +10 -7
  118. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-review/SKILL.md +10 -6
  119. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-update/SKILL.md +10 -5
  120. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/specification-writing/SKILL.md +9 -9
  121. package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/.claude-plugin/plugin.json +1 -2
  122. package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/README.md +28 -0
  123. package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/hooks/hooks.json +16 -0
  124. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → ticket-workflow}/scripts/ticket-linker.py +9 -1
  125. package/.devcontainer/plugins/devs-marketplace/plugins/workspace-scope-guard/README.md +104 -32
  126. package/.devcontainer/plugins/devs-marketplace/plugins/workspace-scope-guard/hooks/hooks.json +49 -3
  127. package/.devcontainer/plugins/devs-marketplace/plugins/workspace-scope-guard/scripts/guard-workspace-scope.py +269 -58
  128. package/.devcontainer/plugins/devs-marketplace/plugins/workspace-scope-guard/scripts/inject-workspace-cwd.py +44 -0
  129. package/.devcontainer/scripts/setup-aliases.sh +13 -5
  130. package/.devcontainer/scripts/setup-config.sh +1 -0
  131. package/.devcontainer/scripts/setup-projects.sh +1 -1
  132. package/README.md +5 -5
  133. package/package.json +6 -2
  134. package/setup.js +3 -2
  135. package/.devcontainer/.env +0 -33
  136. package/.devcontainer/features/README.md +0 -126
  137. package/.devcontainer/plugins/devs-marketplace/plugins/auto-formatter/.claude-plugin/plugin.json +0 -7
  138. package/.devcontainer/plugins/devs-marketplace/plugins/auto-formatter/README.md +0 -81
  139. package/.devcontainer/plugins/devs-marketplace/plugins/auto-formatter/hooks/hooks.json +0 -17
  140. package/.devcontainer/plugins/devs-marketplace/plugins/auto-formatter/scripts/__pycache__/format-on-stop.cpython-314.pyc +0 -0
  141. package/.devcontainer/plugins/devs-marketplace/plugins/auto-formatter/scripts/format-on-stop.py +0 -297
  142. package/.devcontainer/plugins/devs-marketplace/plugins/auto-linter/.claude-plugin/plugin.json +0 -7
  143. package/.devcontainer/plugins/devs-marketplace/plugins/auto-linter/README.md +0 -92
  144. package/.devcontainer/plugins/devs-marketplace/plugins/auto-linter/hooks/hooks.json +0 -17
  145. package/.devcontainer/plugins/devs-marketplace/plugins/auto-linter/scripts/__pycache__/lint-file.cpython-314.pyc +0 -0
  146. package/.devcontainer/plugins/devs-marketplace/plugins/auto-linter/scripts/lint-file.py +0 -536
  147. package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/.claude-plugin/plugin.json +0 -8
  148. package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/README.md +0 -250
  149. package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/hooks/hooks.json +0 -112
  150. package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/advisory-test-runner.cpython-314.pyc +0 -0
  151. package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/collect-edited-files.cpython-314.pyc +0 -0
  152. package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/commit-reminder.cpython-314.pyc +0 -0
  153. package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/git-state-injector.cpython-314.pyc +0 -0
  154. package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/guard-readonly-bash.cpython-314.pyc +0 -0
  155. package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/redirect-builtin-agents.cpython-314.pyc +0 -0
  156. package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/skill-suggester.cpython-314.pyc +0 -0
  157. package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/syntax-validator.cpython-314.pyc +0 -0
  158. package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/ticket-linker.cpython-314.pyc +0 -0
  159. package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/todo-harvester.cpython-314.pyc +0 -0
  160. package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/verify-no-regression.cpython-314.pyc +0 -0
  161. package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/verify-tests-pass.cpython-314.pyc +0 -0
  162. package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/collect-edited-files.py +0 -46
  163. package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/syntax-validator.py +0 -146
  164. package/.devcontainer/plugins/devs-marketplace/plugins/dangerous-command-blocker/scripts/__pycache__/block-dangerous.cpython-314.pyc +0 -0
  165. package/.devcontainer/plugins/devs-marketplace/plugins/protected-files-guard/scripts/__pycache__/guard-protected.cpython-314.pyc +0 -0
  166. package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/.claude-plugin/system-prompt.md +0 -184
  167. package/.devcontainer/plugins/devs-marketplace/plugins/workspace-scope-guard/scripts/__pycache__/guard-workspace-scope.cpython-314.pyc +0 -0
  168. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive/.claude-plugin/commands/debug.md → agent-system/skills/debug/SKILL.md} +0 -0
  169. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/api-design/references/error-handling.md +0 -0
  170. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/api-design/references/rest-conventions.md +0 -0
  171. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/ast-grep-patterns/references/language-patterns.md +0 -0
  172. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/claude-agent-sdk/references/sdk-typescript-reference.md +0 -0
  173. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/claude-code-headless/references/cli-flags-and-output.md +0 -0
  174. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/claude-code-headless/references/sdk-and-mcp.md +0 -0
  175. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/debugging/references/error-patterns.md +0 -0
  176. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/debugging/references/log-locations.md +0 -0
  177. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/dependency-management/references/ecosystem-commands.md +0 -0
  178. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/dependency-management/references/license-compliance.md +0 -0
  179. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/docker/references/compose-services.md +0 -0
  180. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/docker/references/dockerfile-patterns.md +0 -0
  181. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/docker-py/references/container-lifecycle.md +0 -0
  182. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/docker-py/references/resources-and-security.md +0 -0
  183. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/documentation-patterns/references/api-doc-templates.md +0 -0
  184. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/documentation-patterns/references/docstring-formats.md +0 -0
  185. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/fastapi/references/middleware-and-lifespan.md +0 -0
  186. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/fastapi/references/pydantic-models.md +0 -0
  187. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/fastapi/references/routing-and-dependencies.md +0 -0
  188. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/fastapi/references/sse-and-streaming.md +0 -0
  189. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/git-forensics/references/advanced-commands.md +0 -0
  190. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/git-forensics/references/investigation-playbooks.md +0 -0
  191. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/migration-patterns/references/javascript-migrations.md +0 -0
  192. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/migration-patterns/references/python-migrations.md +0 -0
  193. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/performance-profiling/references/interpreting-results.md +0 -0
  194. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/performance-profiling/references/tool-commands.md +0 -0
  195. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/pydantic-ai/references/agents-and-tools.md +0 -0
  196. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/pydantic-ai/references/models-and-streaming.md +0 -0
  197. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/refactoring-patterns/references/safe-transformations.md +0 -0
  198. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/refactoring-patterns/references/smell-catalog.md +0 -0
  199. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/security-checklist/references/owasp-patterns.md +0 -0
  200. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/security-checklist/references/secrets-patterns.md +0 -0
  201. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/skill-building/references/cross-vendor-principles.md +0 -0
  202. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/skill-building/references/patterns-and-antipatterns.md +0 -0
  203. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/skill-building/references/skill-authoring-patterns.md +0 -0
  204. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/sqlite/references/advanced-queries.md +0 -0
  205. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/sqlite/references/javascript-patterns.md +0 -0
  206. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/sqlite/references/python-patterns.md +0 -0
  207. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/sqlite/references/schema-and-pragmas.md +0 -0
  208. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/svelte5/references/ai-sdk-svelte.md +0 -0
  209. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/svelte5/references/component-patterns.md +0 -0
  210. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/svelte5/references/layercake.md +0 -0
  211. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/svelte5/references/migration-guide.md +0 -0
  212. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/svelte5/references/runes-and-reactivity.md +0 -0
  213. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/svelte5/references/spa-and-routing.md +0 -0
  214. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/svelte5/references/svelte-dnd-action.md +0 -0
  215. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/testing/references/fastapi-testing.md +0 -0
  216. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/testing/references/svelte-testing.md +0 -0
  217. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-build/references/review-checklist.md +0 -0
  218. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-init/references/backlog-template.md +0 -0
  219. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-init/references/milestones-template.md +0 -0
  220. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-new/references/template.md +0 -0
  221. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/specification-writing/references/criteria-patterns.md +0 -0
  222. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/specification-writing/references/ears-templates.md +0 -0
  223. /package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/{.claude-plugin/commands/ticket/357/200/272create-pr.md" → skills/ticketcreate-pr/SKILL.md} +0 -0
  224. /package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/{.claude-plugin/commands/ticket/357/200/272new.md" → skills/ticketnew/SKILL.md} +0 -0
  225. /package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/{.claude-plugin/commands/ticket/357/200/272review-commit.md" → skills/ticketreview-commit/SKILL.md} +0 -0
  226. /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
 
@@ -5,300 +5,93 @@ CodeForge devcontainer for AI-assisted development with Claude Code.
5
5
  ## Directory Structure
6
6
 
7
7
  ```
8
- /workspaces/
9
- ├── .devcontainer/ # Container configuration (this directory)
10
- ├── devcontainer.json # Main container definition
11
- ├── .env # Environment variables
12
- │ ├── config/ # Default configurations
13
- │ ├── file-manifest.json # Declarative file-copy manifest
14
- │ └── defaults/ # Files copied per manifest
15
- ├── settings.json # Claude Code settings
16
- ├── keybindings.json # Claude Code keybindings
17
- ├── main-system-prompt.md
18
- │ │ └── writing-system-prompt.md
19
- ├── features/ # Custom devcontainer features
20
- │ ├── plugins/ # Local plugin marketplace
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 Files
23
+ ## Key Configuration
32
24
 
33
25
  | File | Purpose |
34
26
  |------|---------|
35
- | `devcontainer.json` | Container definition: base image, features, mounts, environment |
36
- | `.env` | Environment variables controlling setup behavior |
37
- | `config/file-manifest.json` | Declarative manifest controlling which config files are copied and how |
38
- | `config/defaults/settings.json` | Claude Code defaults: model, tokens, permissions, plugins |
39
- | `config/defaults/keybindings.json` | Claude Code keybindings (empty by default — customizable) |
40
- | `config/defaults/main-system-prompt.md` | Default system prompt defining assistant behavior |
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
- > **Note**: Config file copying is controlled by `config/file-manifest.json`. Each entry specifies `overwrite`: `"if-changed"` (default, sha256-based), `"always"`, or `"never"`. Persistent changes go in `.devcontainer/config/defaults/settings.json`.
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 (prefers native binary at `~/.local/bin/claude`) |
50
- | `cc` | Shorthand for `claude` with config |
51
- | `ccraw` | Vanilla Claude Code without any config (bypasses function override) |
52
- | `ccw` | Claude Code with the writing system prompt — uses `writing-system-prompt.md` instead of `main-system-prompt.md`, optimized for creative and technical writing tasks |
53
- | `ccusage` | Analyze token usage history |
54
- | `ccburn` | Real-time token burn rate visualization |
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
- ## Feature Development
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
- | Shortcut | VS Code Action | Claude Code Action |
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
- `Ctrl+P` and `Ctrl+F` are configured to pass through to the terminal via `terminal.integrated.commandsToSkipShell` in `devcontainer.json`. For other conflicts, use Meta (Alt) variants or customize via `config/defaults/keybindings.json`.
71
+ **Current rules:** `spec-workflow.md`, `workspace-scope.md`, `session-search.md`
218
72
 
219
- ## Environment Variables
73
+ **Adding rules:** Create `.md` in `config/defaults/rules/`, add a manifest entry in `file-manifest.json`.
220
74
 
221
- Key environment variables set in the container:
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
- | `TMPDIR` | `/workspaces/.tmp` |
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
- - `workspace-scope-guard` resolves worktree paths correctly via `os.path.realpath()`
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 default model**: Edit `config/defaults/settings.json`, update `"model"` field
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. **Change keybindings**: Edit `config/defaults/keybindings.json`
294
- 4. **Add a custom config file**: Add an entry to `config/file-manifest.json` with `src`, `dest`, and optional `overwrite`/`destFilename`
295
- 5. **Add features**: Add to `"features"` in `devcontainer.json`
296
- 6. **Disable auto-setup**: Set variables to `false` in `.env`
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
- **Current rules**: `spec-workflow.md`, `workspace-scope.md`, `session-search.md`
95
+ ## Features
303
96
 
304
- **Adding custom rules**: Create a `.md` file in `config/defaults/rules/`, then add a manifest entry in `config/file-manifest.json` pointing to `${CLAUDE_CONFIG_DIR}/rules` as the destination. The rule will be deployed on the next container start.
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`.
@@ -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 (Not Active by Default)
286
+ ### auto-code-quality
285
287
 
286
- A self-contained combined auto-formatter and auto-linter plugin available in the marketplace at `plugins/devs-marketplace/plugins/auto-code-quality/`. It bundles formatting and linting into a single plugin with a three-phase pipeline: collect edited files (PostToolUse), batch format (Stop), and batch lint (Stop). Supports the same languages as auto-formatter + auto-linter. **Do not enable alongside auto-formatter or auto-linter** — they overlap in functionality.
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
- The `code-directive` plugin includes 17 custom agent definitions and 28 coding reference skills.
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/code-directive/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.
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 (28)
332
+ ### General Skills (21) — `skill-engine` plugin
331
333
 
332
- Skills in `plugins/devs-marketplace/plugins/code-directive/skills/` provide domain-specific coding references:
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` · `spec-build` · `spec-check` · `spec-init` · `spec-new` · `spec-refine` · `spec-review` · `spec-update` · `specification-writing` · `sqlite` · `svelte5` · `testing`
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