feat: v3 config layout, Docker Compose, new features, and CLI enhancements#88
Conversation
…hooks Adds the claude-code-karma devcontainer feature with read-only session tracking hooks in settings.base.json. Updates check-setup.sh with Karma health checks, adds Karma tools to cc-tools listing, and fixes GH_CONFIG_DIR default path in setup-aliases.sh.
…pdates Documents Karma's read-only tracking hooks in the hooks page, adds the Karma settings boundary section to settings-and-permissions, and updates environment variables, whats-included, and accessing-services references.
Refactors the monolithic doctor.ts into a module directory with separate files for types, checks, formatting, and fix orchestration. Adds three new check categories: - Volume candidates: scans for high-churn dirs (node_modules, .next, .venv, target, etc.) on slow filesystems, recommends Docker volumes - WSL .wslconfig: detects host RAM, generates optimized config with memory limits, autoMemoryReclaim, and sparseVhd - Windows Defender: provides PowerShell exclusion commands for Docker and WSL processes Introduces --fix mode with @clack/prompts TUI multi-select grouped by category, plus --yes (non-interactive), --dry-run (preview), and --only <category> (filter) flags. Fix actions write .codeforge/mounts.json for compose integration. WSL checks are hidden on non-WSL systems.
Replaces inline image/mounts/runArgs in devcontainer.json with a
docker-compose.yml base file and generated compose override. Volume names
are now fixed (no ${devcontainerId} suffix) for simpler management.
Adds generate-mounts.mjs as an initializeCommand that reads
.codeforge/mounts.json and produces docker-compose.codeforge.yml with
project-specific volume mounts. The script runs on the host (Node.js,
cross-platform) and gracefully falls back to an empty override when no
mounts config exists.
Updates CHANGELOG, AGENTS, and README with doctor --fix, volume candidate detection, WSL .wslconfig generator, Defender exclusion guide, and Docker Compose migration entries. Adds volume mounts section to container-configuration docs and doctor --fix row to cli-tools reference.
Move packaged defaults from defaults/codeforge/config/ into organized subdirectories (claude/, codex/, rtk/) with a new container.json for setup identity. Settings profiles are now minimal overlays instead of full copies. Remove legacy .env.example and .secrets.example files.
Add new features (rtk, claude-mem, lamarck, ccdiag, sandcastle, claude-session-analyzer), update formatter versions to latest, add VS Code settings for terminal/editor UX. Rename generate-mounts.mjs to generate-compose.mjs with expanded compose generation. Simplify secrets model and remove deprecated env vars (CLAUDE_CONFIG_DIR).
Rewrite setup.js to support three-tier manifest merging (packaged defaults + generated output + user overrides). Refactor setup-config.sh and setup-auth.sh for file-per-secret model. Add v3 migration script. Update generate-settings-profiles.js for base + overlay architecture. Rewrite test.js in TAP format to validate new config pipeline. Bump to v3.0.0, require Node >= 18.
Update config discovery to search .devcontainer/defaults/codeforge/ alongside .codeforge/. Add multi-root manifest loading that merges packaged defaults with user overrides by entry id. Add generated settings path resolution and on-demand profile generation. Expand variable substitution to support WORKSPACE_ROOT and CODEFORGE_DIR. Bump to v3.0.0.
Cache file content before DB mutations in indexer to reduce disk I/O. Add DEBUG env var logging to plan/task/plugin loaders for silent failure diagnostics. Add port range validation to proxy command. Add strict JSON parsing with type guards in search engine. Respect CLAUDE_PROJECTS_DIR in session discovery. Add null check for CA cert generation.
Add RTK (Rust Token Killer) for transparent Bash output compression. Add claude-mem for persistent memory via SQLite + Chroma vectors. Add ccdiag for Go-based session diagnostics (orphans, errors, tokens). Add claude-session-analyzer for session quality metrics. Add lamarck for automated skill analysis from session history. Add sandcastle for multi-agent orchestration via git worktrees.
Replace task-tracker with activity-tracker to track subagents and background bash commands. Add stale-entry pruning to quality gate. Extend protected-files-guard to block .codeforge/secrets/. Remove CLAUDE_CONFIG_DIR references from all features and agent-system scripts. Add rate limit reset time widgets to ccstatusline. Update AGENTS.md, CHANGELOG.md, and README for v3 architecture.
Rewrite secrets-and-auth for file-per-secret model. Update all config path references for three-tier layout. Rewrite migration guide for v2/v3 transition. Add changelog entries for RTK, claude-mem, sandcastle, ccdiag, lamarck, and Docker Compose migration. Update Hero stats (4 agents, 17 plugins, 26 tools, 34 skills). Add OG meta tags. Bump docs to v3.0.0.
Cover devcontainer build/up log capture, runtime container logs, log storage locations, and diagnostic tools (ccdiag, analyze-sessions, karma-status).
gh auth setup-git was nested inside the GH_TOKEN secret block, so the git credential helper was never configured when users relied on manual gh auth login. Now runs on every container start regardless of token presence. Also detects persisted GitHub CLI credentials from the Docker named volume and derives git identity without requiring a secret.
Tools like `gh auth login` try to open a browser but fail with "executable not found" in containers. Add a BROWSER fallback script that uses VS Code's remote CLI when available, or prints the URL cleanly for manual copy. Does not override VS Code's native BROWSER in integrated terminals.
…tection Docker Compose port mappings provide reliable port forwarding independent of VS Code, working with WSL mirrored networking and all devcontainer clients. Switch VS Code from broken hybrid mode to output-based detection as a supplementary mechanism. - Map 6 service ports in docker-compose.yml bound to 127.0.0.1 - Change autoForwardPortsSource from hybrid to output - Add missing portsAttributes for Astro (4321) and mitmproxy (8081) - Update accessing-services docs to reflect Docker Compose as primary
…l-suggester Ship machine-readable environment documentation for AI assistants and a complementary /codeforge skill for on-demand deep context. Remove the deprecated skill auto-suggestion system and the Codex AGENTS.md bad pattern. - Add AI-CONTEXT.md with toolchain, filesystem, constraints, auth, persistence - Add /codeforge skill with detailed reference files (toolchain, filesystem, constraints) - Update AGENTS.md with AI context reference and maintenance directive - Update README.md with user-facing AI context guidance - Remove skill-suggester.py and UserPromptSubmit hook - Remove Codex AGENTS.md from defaults and file-manifest - Update skill-engine plugin metadata and README
Add `codeforge hooks list|disable|enable|status` subcommands for managing plugin hook enablement via ~/.claude/disabled-hooks.json, replacing the need to hand-edit JSON. Includes security warnings for safety-critical plugins and dual-write to both deployed and source configs. Add enabledPlugins merge logic to `codeforge config apply` and setup.js so user plugin disable/enable choices survive config redeployment. Includes hooks-loader utility, 18 unit tests, and documentation updates to AGENTS.md and constraints.md.
…elog - Update ccstatusline session-usage and weekly-usage widgets with compact, cursor, and absolute metadata; switch reset-timer to dateMode/hourFormat - Upgrade docs dependencies to Astro 6.x and Starlight 0.39.x, remove zod override - Add unreleased changelog entries for networking, status line, config, auth fixes, tooling, AI-CONTEXT.md, /codeforge skill, and removals
…volume scan, rebuild messaging - Increase doctor volume detection depth from 4 to 8 to catch nested projects - Add git safe directory doctor check with immediate fix (no rebuild needed) - Auto-detect and register all git repos as safe.directory on container startup - Add `codeforge mount add <path>` command for manual volume registration - Extract shared mounts.json utilities to dedicated module - Standardize rebuild messaging with specific VS Code and CLI instructions - Add rebuildType field to FixAction for normal vs full rebuild guidance
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Tip 💬 Introducing Slack Agent: The best way for teams to turn conversations into code.Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.
Built for teams:
One agent for your entire SDLC. Right inside Slack. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
- Remove npm cache config from test/lint jobs (container has no lockfile) - Skip WSL .wslconfig fix test on non-Linux platforms (/proc/meminfo unavailable)
…ce-easy-wins # Conflicts: # cli/bun.lock # cli/package.json # docs/package-lock.json # docs/package.json
…indows - Use template literal in setup.js to satisfy biome linter - Normalize stored mount paths to forward slashes for cross-platform consistency
- Use template literal instead of string concat (line 109) - Add radix parameter to parseInt calls (line 157)
Summary
Major update spanning all three packages — introduces the v3 config layout, Docker Compose integration, 6 new devcontainer features, and significant CLI improvements.
Container
claude/,codex/,rtk/directory structure underdefaults/codeforge/generate-compose.mjsccdiag,claude-code-karma,claude-mem,claude-session-analyzer,lamarck,rtk,sandcastlegh auth loginin devcontainersAI-CONTEXT.mdand/codeforgeskill; removeskill-suggesterCLI
--fixTUI, new checks (auth, environment, git, volumes, WSL)hooks list/enable/disable/statuscommandsmount addcommandDocs
doctor --fix, volume mounts, Compose migrationCI/Infra
Test plan
cd cli && bun test— all doctor, hooks-loader, and mount tests passcd container && npm test— setup scripts and plugin tests passcd docs && npm run build— Astro 6 site builds cleanlygenerate-compose.mjscodeforge doctor --fixTUI in a running containercodeforge hooks list/enable/disable/statuscommands