Skip to content

Commit 6824462

Browse files
authored
Release v2.2.0 (#71)
* Add Claude Code Router + Codex CLI features, extract dashboard, restructure docs Container: - Add claude-code-router feature for LLM provider routing (DeepSeek, Gemini, OpenRouter) - Add codex-cli feature for OpenAI Codex terminal agent - Add defaults/ directory with factory config templates - Update ccusage feature with Codex support - Update auth scripts for new provider API keys Dashboard: - Extract dashboard/ to separate CodeDirective repository - Add dashboard/ to .gitignore (deprecated in monorepo) Documentation: - Restructure docs: getting-started → start-here, features/customization → use/customize - Move plugins/ under extend/ section - Add new reference pages: agents, skills, cli-tools, environment-variables - Consolidate architecture and troubleshooting in reference/ Housekeeping: - Gitignore temp directories and screenshots * Remove dashboard feature from devcontainer Dashboard extracted to separate CodeDirective repository. Remove: - codeforge-dashboard devcontainer feature - Dashboard port forwarding and config from devcontainer.json - Dashboard documentation page and sidebar references - Dashboard mentions from README, CLAUDE.md, and related docs * Remove deprecated container/.codeforge directory Configuration migrated to container/.devcontainer/defaults/codeforge/. The .codeforge directory at package root was a development artifact that should not ship with the npm package. * Add behavioral rules for Claude Code sessions New rules in defaults/codeforge/config/rules/: - auto-memory.md: memory constraints and staleness cleanup - zero-tolerance-bugs.md: bugs always in scope, must be fixed - scope-discipline.md: only user defines scope - explicit-start.md: never start without clear instruction - plan-presentation.md: compressed overview before full plan - surface-decisions.md: surface assumptions before acting * Update hook gate path to ~/.claude/disabled-hooks.json All plugin scripts now check ~/.claude/disabled-hooks.json instead of .codeforge/config/disabled-hooks.json for the hook disable list. * Update defaults configuration - settings.json: update to opus-4-7, reduce thinking tokens (31999), disable adaptive thinking, add effort_level max, adjust compaction thresholds, disable agent teams, add background tasks and no-flicker - main-system-prompt.md: streamline prompt content - file-manifest.json: update file list for new rules - claude-code-router.json: add default router configuration * Update agent definitions: remove worktree isolation, upgrade models - Remove isolation: worktree from write-capable agents (documenter, implementer, migrator, refactorer, test-writer) — run in main worktree - Upgrade investigator and security-auditor from sonnet to opus * Update documentation and refactor CLAUDE.md structure - Move devcontainer guide from CLAUDE.md to AGENTS.md - CLAUDE.md now uses @AGENTS.md include directive - docs: update changelog, cli-tools reference, troubleshooting - docs: remove dashboard references, fix sidebar formatting - deps: update docs package-lock.json * Pin agent models to opus-4-5 Update all 9 opus-based agents to use explicit model version opus-4-5. * Bump version to 2.2.0 with comprehensive changelog Update changelog with all changes since v2.1.1: - Claude Code Router and Codex CLI features - Dashboard feature removed from devcontainer - 6 new behavioral rules - Agent model pinning to opus-4-5 - Worktree isolation removed from write-capable agents - Configuration updates (opus-4-7, reduced thinking tokens, max effort) - Hook gate path changed to ~/.claude/ - Config directory restructure - Documentation overhaul Version updated in package.json and README.md. * Add effort frontmatter to all agents and skills Configure Opus 4.7 adaptive thinking via effort: field in frontmatter: - 19 agents: max (2), xhigh (10), high (4), medium (5) - 23 skills: xhigh (3), high (10), medium (9), low (1) Effort levels calibrated by task complexity: - max: architect, spec-writer (deep reasoning required) - xhigh: implementer, migrator, refactorer, etc. (code writing) - high: debug-logs, dependency-analyst, etc. (analysis tasks) - medium: explorer, bash-exec, etc. (simple operations) - low: worktree (basic git commands) * Add session tokens command for thinking token analysis - New `codeforge session tokens` command analyzes thinking token usage - Shows exact billed output tokens and visible content breakdown - Thinking Density table: % turns with thinking, avg chars, session intensity - Per-session breakdown: turns with thinking, density, avg chars per turn - Filter by --project, --model, --since, --until - Output formats: text (colorized) and JSON Bump CLI version to 0.2.0 * Add oh-my-claude devcontainer feature (disabled) Add oh-my-claude multi-provider proxy feature for Chinese LLM routing (Kimi, DeepSeek, Qwen, Zhipu, MiniMax). Feature is disabled pending refinement — omc install modifies settings.json despite --skip-* flags. Feature structure: - devcontainer-feature.json with version, autostart, providerAgentsOnly options - install.sh with backup/restore approach to protect settings.json - poststart-hook.sh for auto-starting proxy - README.md documenting usage and configuration Supporting changes: - .secrets.example: Add Chinese LLM provider API keys - disabled-hooks.json: Add omc memory/preference hooks - setup-aliases.sh: Add --disallowedTools for omc MCP tools, omc-apply alias - devcontainer.json: Add Chinese provider secrets (feature commented out) Note: claude-code-router also commented out pending router consolidation. * Ignore .research/ directory * Fix documentation and security issues from PR #71 review - Fix CLI version in README (0.1.0 → 0.2.0) - Update 16 path references in AGENTS.md (.codeforge/ → defaults/codeforge/) - Replace unsafe eval pattern with getent passwd in 9 install scripts The eval echo "~$USERNAME" pattern could theoretically allow command injection if username validation were removed in future changes. Using getent passwd is safer and matches the pattern already used in codex-cli/install.sh.
1 parent 489f08c commit 6824462

File tree

310 files changed

+5537
-32122
lines changed

Some content is hidden

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

310 files changed

+5537
-32122
lines changed

.gitignore

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,12 @@ coverage/
2020
*.swp
2121
*.swo
2222
*~
23+
TEMP/
24+
temp/
25+
tmp/
26+
27+
# Screenshots
28+
*.png
2329

2430
# IDE
2531
.vscode/
@@ -60,10 +66,8 @@ cli/.pytest_cache/
6066
cli/.ruff_cache/
6167
.codeforge/data/
6268

63-
# Dashboard-specific
64-
dashboard/.svelte-kit/
65-
dashboard/build/
66-
dashboard/mockups/
69+
# Dashboard (deprecated — migrating to CodeDirective, a separate repo)
70+
dashboard/
6771

6872
# Docs-specific
6973
docs/.astro/
@@ -74,3 +78,4 @@ dev-debug.log
7478
npm-debug.log*
7579
yarn-debug.log*
7680
yarn-error.log*
81+
.research/

CLAUDE.md

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# CodeForge Monorepo
22

3-
This repository contains four packages. Each package manages its own dependencies independently.
3+
This repository contains three packages. Each package manages its own dependencies independently.
44

55
## Packages
66

@@ -9,7 +9,6 @@ This repository contains four packages. Each package manages its own dependencie
99
| `container/` | Node.js | npm |
1010
| `cli/` | Bun | bun |
1111
| `docs/` | Node.js | npm |
12-
| `dashboard/` | Bun | npm (frontend) / bun (server) |
1312

1413
## Development Rules
1514

@@ -27,8 +26,6 @@ Each package has its own `CLAUDE.md` with package-specific development rules:
2726
- [`container/CLAUDE.md`](container/CLAUDE.md) — changelog, documentation, and configuration rules for the devcontainer package
2827
- `cli/` — Bun/TypeScript CLI; run `bun test` for tests
2928
- `docs/` — Astro/Starlight site; run `npm run build` to verify
30-
- [`dashboard/CLAUDE.md`](dashboard/CLAUDE.md) | [`dashboard/README.md`](dashboard/README.md) — Svelte 5 SPA + Bun backend for session analytics
31-
3229
### Cross-Package Changes
3330

3431
When a change spans multiple packages, make the changes in a single branch and PR.
@@ -41,21 +38,3 @@ Run tests for each affected package before committing:
4138
- **Container**: `cd container && npm test`
4239
- **CLI**: `cd cli && bun test`
4340
- **Docs**: `cd docs && npm run build`
44-
- **Dashboard**: `cd dashboard && bun test`
45-
46-
### Dashboard vs CLI
47-
48-
The `dashboard/` and `cli/` packages serve different audiences:
49-
50-
- **CLI** (`codeforge` command) — terminal-first, text/JSON output, scriptable,
51-
runs inside or outside the container. Features: session search, task search/list/show,
52-
plan search, plugin management, index/config commands.
53-
- **Dashboard** (Svelte 5 SPA) — visual analytics, charts, expandable detail views,
54-
real-time SSE updates. Features: session browsing with conversation replay,
55-
task/plan/agent/memory views, project analytics, cost tracking.
56-
57-
When adding a new data view:
58-
- If it's browsable/visual (tables, charts, detail drill-down) → dashboard
59-
- If it's scriptable/automatable (piped output, filters, JSON) → CLI
60-
- If it's both → implement in both, but don't import CLI as a dashboard dependency.
61-
Fork patterns instead.

README.md

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,8 @@ Monorepo for CodeForge — an AI-powered development environment for Claude Code
66

77
| Package | Description | Version |
88
|---------|-------------|---------|
9-
| [`container/`](container/) | CodeForge DevContainer (`@coredirective/cf-container` on npm) | 2.1.0 |
10-
| [`cli/`](cli/) | CodeForge CLI (`codeforge-cli`) | 0.1.0 |
11-
| [`dashboard/`](dashboard/) | Session analytics dashboard (Svelte 5 SPA + Bun backend) ||
9+
| [`container/`](container/) | CodeForge DevContainer (`@coredirective/cf-container` on npm) | 2.2.0 |
10+
| [`cli/`](cli/) | CodeForge CLI (`codeforge-cli`) | 0.2.0 |
1211
| [`docs/`](docs/) | Documentation site ([codeforge.core-directive.com](https://codeforge.core-directive.com)) ||
1312

1413
## Quick Start
@@ -31,9 +30,6 @@ cd container && npm test
3130
# CLI (Bun)
3231
cd cli && bun test
3332

34-
# Dashboard (Bun)
35-
cd dashboard && bun test
36-
3733
# Docs (npm)
3834
cd docs && npm run build
3935
```

cli/CHANGELOG.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,22 @@
11
# CodeForge CLI Changelog
22

3+
## v0.2.0 — 2026-04-16
4+
5+
### New Command
6+
7+
- **`codeforge session tokens`** — Analyze thinking token usage across Claude Code sessions
8+
- Shows exact billed output tokens (from API) and visible content breakdown (thinking, text, tool chars)
9+
- **Thinking Density** table: % of turns with thinking, avg chars per thinking turn, session intensity breakdown (none/light/medium/heavy)
10+
- **Per-session breakdown**: turns with thinking, density %, avg chars per thinking turn
11+
- Filter by `--project`, `--model`, `--since`, `--until`
12+
- Output formats: text (colorized tables) and JSON (`--format json`)
13+
14+
### Purpose
15+
16+
Benchmarks thinking token costs to compare extended thinking behavior across models (e.g., Opus 4.5 vs 4.6). Since `output_tokens` is a combined total (thinking + text + tool_use) with no separate `thinking_tokens` field, this command provides visibility into thinking patterns through empirical measurement of visible content.
17+
18+
---
19+
320
## v0.1.0 — 2026-03-14 (Experimental)
421

522
### Package Rename

cli/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"publishConfig": {
44
"access": "public"
55
},
6-
"version": "0.1.0",
6+
"version": "0.2.0",
77
"description": "CLI for CodeForge development workflows",
88
"keywords": [
99
"codeforge",

0 commit comments

Comments
 (0)