Skip to content

Commit 178ad2a

Browse files
authored
Release v2.1.1: CLI v0.1.0, spec workflow v2, scope guard fixes (#59)
* Harden scope guard for worktrees and throttle Stop hook reminders Scope guard: resolve CWD with realpath to prevent symlink mismatches, detect .claude/worktrees/ and expand scope to project root so sibling worktrees aren't blocked, and improve error messages with resolved paths. Stop hooks: add 5-minute per-session cooldown to commit-reminder and spec-reminder to prevent repeated firing in team/agent scenarios. * Fix scope guard blocking project root from subdirectory CWDs resolve_scope_root() now walks up from CWD looking for .git to find the repository root, preventing false positives when working in subdirectories like cli/, src/, or tests/. Safety ceiling at /workspaces prevents scope from escaping the workspace boundary. * Restructure as monorepo: move container to subdirectory Move .git/ to project root so the entire workspace is tracked in a single repository. Git detects all container-root files as renames into the container/ subdirectory. Root-level files (.github/, LICENSE.txt, CLA.md, CONTRIBUTING.md, .gitattributes) remain at the repository root. The docs/ package was already tracked at docs/ and is unaffected by this change. This is a structural reorganization — no code changes. * Add cli package to monorepo Add codeforge-cli v0.1.0 (Bun/TypeScript) — a CLI for CodeForge development workflows including session search, plan management, and task tracking. The docs package was already tracked from the previous repository structure. * Update CI, configs, and docs for monorepo structure CI workflows: - Add working-directory: container to all container job steps - Add path filters (container/**, cli/**) to trigger workflows selectively - Add test-cli job using Bun for CLI package - Update changelog/package.json paths for container subdirectory - Update devcontainer feature publish paths Config: - Add repository.directory to container and cli package.json - Remove docs:* scripts from container (docs is now a sibling package) - Simplify container/.gitignore (root handles shared patterns) - Update dependabot directories for monorepo layout Docs: - Add root README.md with monorepo overview and package table - Add root CLAUDE.md with branching strategy and dev rules - Update container/CLAUDE.md to reference root for shared rules * Fix docs changelog sync path for monorepo structure Update sync-changelog.mjs to read from container/.devcontainer/CHANGELOG.md instead of the old .devcontainer/CHANGELOG.md path. Regenerate the docs changelog page with updated source reference. * Add plugin, config, and review commands to CLI - plugin list/show/enable/disable/hooks/agents/skills subcommands - config show/apply subcommands with settings writer - review command with headless Claude runner and prompt templates - Plugin/config/review schemas, loaders, and output formatters - Platform detection utility - Tests for plugin loader, plugin list, review output, review runner, settings writer, and platform detection * Improve CLI core: register new commands, fix search and packaging - Register plugin, config, and review subcommands in index.ts - Remove fast-glob dependency (use native Bun glob) - Fix build output to single file (--outfile dist/codeforge.js) - Add npm publish metadata (keywords, files, prepublishOnly) - Fix search filter edge cases with new tests - Fix plan-loader path resolution - Update session list/show formatting * Add CLI release workflow, devcontainer feature, and CI improvements - release-cli.yml: tag-triggered (cli-v*) npm publish + GitHub release - codeforge-cli devcontainer feature: installs CLI globally via npm - Register codeforge-cli feature in devcontainer.json - Remove dead codeforge alias, add codeforge to cc-tools list - CI: cross-platform test matrix (ubuntu, windows, macos) - Fix docs changelog sync paths for monorepo structure * Release prep: CLI v0.1.0, spec workflow v2, scope guard fixes, docs sweep (#58) CLI (experimental): - Add index command group (build, search, show, stats, tree, clean) - Add container command group (up, down, rebuild, exec, ls, shell) - Add container proxy — auto-proxies into devcontainer from host - Remove review command (never shipped) - Mark CLI as experimental in all metadata and docs Container (v2.1.0 + v2.1.1): - Spec workflow v2 "Spec Packages" — 8 commands replaced with 3 - Scope guard: fix /dev/null false positive, fix CWD drift - Updated agents, skills, system prompts, and config Docs: - Add CLI commands to reference, tools, and changelog pages - Sync docs changelog with container CHANGELOG (v2.1.0, v2.1.1) - Update spec workflow, agents, skills, and rules docs Co-authored-by: AnExiledDev <AnExiledDev@users.noreply.github.com> * Bump container version to 2.1.1 for release * Fix stale CLI changelog version and remove redundant CWD injector - CLI CHANGELOG: "Ships with CodeForge v2.1.0" → "v2.1.1" to match the actual container release version - Remove agent-system's inject-cwd.py and its SubagentStart hook — workspace-scope-guard already handles SubagentStart with superior scope-resolved CWD (worktree-aware, git-root-aware, session-persisted) --------- Co-authored-by: AnExiledDev <AnExiledDev@users.noreply.github.com>
1 parent 05f0f0c commit 178ad2a

File tree

438 files changed

+13489
-3792
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

438 files changed

+13489
-3792
lines changed

.codeforge/config/rules/spec-workflow.md

Lines changed: 0 additions & 48 deletions
This file was deleted.

.devcontainer/plugins/devs-marketplace/plugins/agent-system/scripts/inject-cwd.py

Lines changed: 0 additions & 40 deletions
This file was deleted.

.devcontainer/plugins/devs-marketplace/plugins/spec-workflow/.claude-plugin/plugin.json

Lines changed: 0 additions & 7 deletions
This file was deleted.

.devcontainer/plugins/devs-marketplace/plugins/spec-workflow/README.md

Lines changed: 0 additions & 192 deletions
This file was deleted.

0 commit comments

Comments
 (0)