Skip to content

Fix ccstatusline config not deploying after .claude location move#27

Merged
AnExiledDev merged 3 commits intomainfrom
fix/ccstatusline-deployment
Feb 26, 2026
Merged

Fix ccstatusline config not deploying after .claude location move#27
AnExiledDev merged 3 commits intomainfrom
fix/ccstatusline-deployment

Conversation

@AnExiledDev
Copy link
Owner

@AnExiledDev AnExiledDev commented Feb 26, 2026

Summary

  • CONFIG_SOURCE_DIR deprecation guard in setup.sh — detects stale /workspaces/.claude value in .env (gitignored, can't be fixed by PRs), overrides to $DEVCONTAINER_DIR/config, and auto-comments the line on disk. Without this, setup-config.sh can't find file-manifest.json and falls through to legacy copy, skipping all manifest-based deployments including ccstatusline.
  • System template directory ownership in install.sh — chowns /usr/local/share/ccstatusline/ to the target user so setup-config.sh (running as vscode) can write the template file.
  • Copy error handling in setup-config.shcp failures now warn instead of silently logging success.

Root cause

The v2.0 .claude location move updated CLAUDE_CONFIG_DIR in .env via a deprecation guard but didn't add an equivalent guard for CONFIG_SOURCE_DIR, which also pointed to /workspaces/.claude. Since .env is gitignored, the stale value persisted across rebuilds.

Test plan

  • Rebuild container — verify ccstatusline renders in Claude Code status bar
  • Check setup output for no warnings about CONFIG_SOURCE_DIR on second start (guard auto-fixes .env)
  • Verify ~/.config/ccstatusline/settings.json and /usr/local/share/ccstatusline/settings.template.json both exist after start

Summary by CodeRabbit

  • New Features

    • Added Git Workflow and Prompt Snippets plugin documentation; new /ship, /pr:review and /ps usages
    • Added cc-orc command (orchestrator mode) and dbr command (dynamic port forwarding)
  • Bug Fixes

    • Hardened error handling to fail-closed in several hooks and scripts
    • Improved crash prevention, permission handling, and script robustness
  • Documentation

    • Updated counts: Agents 17→21, Skills 34→38, Plugins 12→14, CLI tools 21→22
    • Expanded architecture and reference docs

Resolves 19 issues (1 critical, 4 high, 4 medium, 10 low) identified
after 12 rapid squash-merges into main. Reclassified 5 findings as
intentional or not-issues (M-4, M-5, L-5, L-7, L-10).

Critical: worktree skill crash (plain strings → weighted tuples),
merge conflict marker in first-session.md. Security: dangerous-command-
blocker now fails closed on unexpected exceptions. Python: remove
redundant ValueError, add maxsplit to split(). Shell: executable bit,
variable quoting, pipefail, POSIX redirects, command -v. Docs: agent
count 17→21, skill count→38, plugin count→14, feature count→22 across
all pages; new plugin pages for git-workflow and prompt-snippets;
cc-orc and dbr added to commands reference; architecture tree updated.
CONFIG_SOURCE_DIR in .env still pointed to /workspaces/.claude after
the v2.0 move, causing setup-config.sh to miss the file manifest and
skip all manifest-based deployments including ccstatusline. Add a
deprecation guard (matching the existing CLAUDE_CONFIG_DIR pattern)
that auto-fixes .env on container start.

Also fix /usr/local/share/ccstatusline/ ownership (root→user) so the
template copy succeeds, and add error handling to setup-config.sh cp
calls that previously logged success on failure.
@coderabbitai
Copy link

coderabbitai bot commented Feb 26, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d04e706 and 8ec6e0c.

📒 Files selected for processing (1)
  • docs/astro.config.mjs

📝 Walkthrough

Walkthrough

Updates and fixes across devcontainer scripts, marketplace plugins, and docs: stricter error handling (fail-closed), safer shell scripting, minor Python logic tweaks (skill scoring, JSON handling), ownership/permission fixes, two new plugin docs (git-workflow, prompt-snippets), and inventory count updates (agents/tools/skills/plugins).

Changes

Cohort / File(s) Summary
DevContainer setup & scripts
.devcontainer/scripts/setup.sh, .devcontainer/scripts/setup-config.sh, .devcontainer/scripts/setup-plugins.sh, .devcontainer/scripts/setup-projects.sh, .devcontainer/scripts/setup-terminal.sh, .devcontainer/connect-external-terminal.sh
Add deprecation guard for CONFIG_SOURCE_DIR, guard cp operations with success/warning paths, tighten shell redirections for command checks, fix variable expansion in blacklist logging, and replace which with command -v for tmux detection.
DevContainer features
.devcontainer/features/ccstatusline/install.sh, .devcontainer/features/tmux/install.sh
Set ownership on ccstatusline install directory and enable stricter shell mode (set -euo pipefail) in tmux installer.
Plugin runtime behavior
.devcontainer/plugins/.../dangerous-command-blocker/scripts/block-dangerous.py, .devcontainer/plugins/.../ticket-workflow/scripts/ticket-linker.py, .devcontainer/plugins/.../workspace-scope-guard/scripts/guard-workspace-scope.py
Change dangerous-command-blocker to "fail closed" on unexpected exceptions (exit 2); narrow JSON exception handling in ticket-linker to JSONDecodeError only; tighten inline-assignment detection in workspace-scope-guard via split(..., 1).
Skill suggester
.devcontainer/plugins/.../skill-engine/scripts/skill-suggester.py
Convert worktree phrase entries from plain strings to weighted tuples and add a priority field (5) to affect tie-breaking/scoring.
Devcontainer feature deployment
.devcontainer/CHANGELOG.md
Add Unreleased Fixed entries documenting CCStatusLine deployment fixes and grouped post-integration/CodeRabbit review fixes.
New plugin docs & catalog
docs/src/content/docs/plugins/git-workflow.md, docs/src/content/docs/plugins/prompt-snippets.md, docs/astro.config.mjs, docs/src/content/docs/plugins/index.md
Add git-workflow and prompt-snippets documentation and register them in the docs sidebar and plugin catalog.
Documentation - counts & references
docs/src/content/docs/features/*, docs/src/content/docs/getting-started/*, docs/src/content/docs/reference/*, docs/src/content/docs/index.mdx, docs/src/content/docs/plugins/agent-system.md, docs/src/content/docs/features/skills.md
Update inventory and descriptive counts across docs (agents 17→21, skills 34→38, tools 21→22, plugins 12→14) and adjust related text/links and reference pages.
Commands & reference updates
docs/src/content/docs/reference/commands.md, docs/src/content/docs/reference/index.md
Add cc-orc and dbr command entries and include /ps slash command example; update inventory table entries.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~30 minutes

Possibly related PRs

Poem

🐰 Hopping through configs with nimble paws,

Fail‑closed guards mend unexpected flaws.
Agents rise from seventeen to twenty‑one,
Skills and snippets join the bright sun.
A carrot for docs, and scripts pruned just right — hop, delight!

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 40.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title specifically references the ccstatusline deployment issue after the .claude location move, which is the primary focus of this PR and clearly summarizes the main change.
Description check ✅ Passed The description covers the root cause, implementation details (CONFIG_SOURCE_DIR guard, ownership fix, error handling), and includes a test plan, but is missing explicit checkbox completion status for the required template sections.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/ccstatusline-deployment

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
docs/src/content/docs/features/agents.md (1)

33-33: ⚠️ Potential issue | 🔴 Critical

Fix agent count and enumeration: 15 new specialists, not 11—and architect is a replacement, not new.

Line 33 contains multiple errors. The claim of "11 entirely new specialists" is incorrect; there are 15 entirely new specialists (21 total agents minus 6 replacements from the table). Additionally, the enumerated list includes architect, which appears in the replacement table on line 25 (replaces Plan) and should not be listed as an "entirely new" specialist. The list is also incomplete—it omits documenter, implementer, investigator, and tester.

Correct count: 15 new specialists are debug-logs, dependency-analyst, doc-writer, documenter, git-archaeologist, implementer, investigator, migrator, perf-profiler, refactorer, researcher, security-auditor, spec-writer, test-writer, tester.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/src/content/docs/features/agents.md` at line 33, Update the sentence
that begins "Beyond the six replacements..." to state there are 15 entirely new
specialists (not 11), remove "architect" from the new-specialists list
(architect is a replacement for `Plan`), and replace the current enumeration
with the correct, complete list: debug-logs, dependency-analyst, doc-writer,
documenter, git-archaeologist, implementer, investigator, migrator,
perf-profiler, refactorer, researcher, security-auditor, spec-writer,
test-writer, tester; ensure the revised sentence and list match the replacement
table where `Plan` → architect is defined.
🧹 Nitpick comments (2)
.devcontainer/plugins/devs-marketplace/plugins/skill-engine/scripts/skill-suggester.py (1)

561-561: Consider aligning worktree placement with its new priority class.

"priority": 5 is reasonable, but this entry now sits under the “Spec-workflow command skills (priority 10)” section. Moving worktree to the practice/pattern block (or adjusting section labeling) would reduce maintenance confusion.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
@.devcontainer/plugins/devs-marketplace/plugins/skill-engine/scripts/skill-suggester.py
at line 561, The "worktree" entry currently has "priority": 5 but is placed
under the "Spec-workflow command skills (priority 10)" section; either move the
worktree entry out of that section into the practice/pattern block where other
priority 5 items live, or update the section header to reflect the actual
priority grouping; locate the entry by searching for the "worktree" object and
the "priority": 5 key and then relocate the whole object to the appropriate
block (or change the section label) so priorities and sectioning remain
consistent.
docs/src/content/docs/plugins/git-workflow.md (1)

17-19: Add language specifiers to fenced code blocks.

These usage example code blocks are missing language specifiers, which triggers MD040 warnings. For slash command examples that aren't a specific language, use text:

📝 Proposed fix for MD040 compliance
 **Usage:**
-```
+```text
 /ship [optional commit message hint]

```diff
 **Usage:**
-```
+```text
 /pr:review [PR number, URL, or omit for current branch]

</details>


Also applies to: 55-57

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against the current code and only fix it if needed.

In @docs/src/content/docs/plugins/git-workflow.md around lines 17 - 19, The
fenced code examples for the slash commands are missing language specifiers and
trigger MD040; update each code fence that shows command usage—e.g., the blocks
containing "/ship [optional commit message hint]" and "/pr:review [PR number,
URL, or omit for current branch]" (and the similar block at lines noted
55-57)—to use the "text" language specifier so the fences become text ...
to satisfy the linter.


</details>

</blockquote></details>

</blockquote></details>

<details>
<summary>🤖 Prompt for all review comments with AI agents</summary>

Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.devcontainer/scripts/setup.sh:

  • Around line 38-40: The sed invocation that comments out CONFIG_SOURCE_DIR in
    ENV_FILE may fail but the script always prints a success message; update the
    if-block around the sed command (the lines invoking sed -i
    's|^CONFIG_SOURCE_DIR=.*|# CONFIG_SOURCE_DIR removed...' on ENV_FILE and the
    subsequent echo) to check sed's exit status (e.g., capture its exit code or use
    &&/||), only print the "[setup] .env updated ..." message when sed succeeds, and
    on failure print an error to stderr and exit non‑zero so callers know the
    migration failed; target the sed invocation and the surrounding echo in the
    script (ENV_FILE, the sed command and the success echo) to implement this
    conditional reporting.

In @docs/src/content/docs/features/skills.md:

  • Line 3: The frontmatter description currently claims a "Complete reference for
    all 38 CodeForge skills" which overstates the page's coverage; update the
    description string to a softened statement such as "Reference for CodeForge
    skills" or "Overview of CodeForge skills and selected domain knowledge packs"
    (edit the description value in the frontmatter — the literal string starting
    with description: Complete reference for all 38 CodeForge skills — domain
    knowledge packs for frameworks, patterns, and workflows) so it no longer implies
    exhaustive coverage.

In @docs/src/content/docs/getting-started/index.md:

  • Line 55: The heading "22 Features and Tools" is ambiguous; update the heading
    text in the document to "22 Tools" to match the page's terminology and remove
    count ambiguity—locate the heading string "22 Features and Tools" in the file
    and replace it with "22 Tools" ensuring any internal links or references to that
    heading are updated if present.

In @docs/src/content/docs/getting-started/installation.md:

  • Around line 51-52: Update the inconsistent feature count in the installation
    docs: change the phrase "installs 21 DevContainer features." to match the
    earlier "22 custom DevContainer features" entry so both occurrences show 22;
    locate the sentence containing the exact string "installs 21 DevContainer
    features." and replace the numeric count to 22 to keep the user-facing docs
    consistent.

In @docs/src/content/docs/plugins/index.md:

  • Around line 99-112: Update the JSON example for enabledPlugins to match the
    expanded core plugin list: include "git-workflow" and "prompt-snippets" (or
    explicitly mark the JSON as a partial/example) so the enabledPlugins example
    aligns with the new core plugins shown in the table; locate the example that
    references enabledPlugins and add those two keys or add a comment indicating
    it's partial to keep documentation consistent with the Agent System, Skill
    Engine, Spec Workflow, Ticket Workflow, Git Workflow, and Prompt Snippets
    entries.

Outside diff comments:
In @docs/src/content/docs/features/agents.md:

  • Line 33: Update the sentence that begins "Beyond the six replacements..." to
    state there are 15 entirely new specialists (not 11), remove "architect" from
    the new-specialists list (architect is a replacement for Plan), and replace
    the current enumeration with the correct, complete list: debug-logs,
    dependency-analyst, doc-writer, documenter, git-archaeologist, implementer,
    investigator, migrator, perf-profiler, refactorer, researcher, security-auditor,
    spec-writer, test-writer, tester; ensure the revised sentence and list match the
    replacement table where Plan → architect is defined.

Nitpick comments:
In
@.devcontainer/plugins/devs-marketplace/plugins/skill-engine/scripts/skill-suggester.py:

  • Line 561: The "worktree" entry currently has "priority": 5 but is placed under
    the "Spec-workflow command skills (priority 10)" section; either move the
    worktree entry out of that section into the practice/pattern block where other
    priority 5 items live, or update the section header to reflect the actual
    priority grouping; locate the entry by searching for the "worktree" object and
    the "priority": 5 key and then relocate the whole object to the appropriate
    block (or change the section label) so priorities and sectioning remain
    consistent.

In @docs/src/content/docs/plugins/git-workflow.md:

  • Around line 17-19: The fenced code examples for the slash commands are missing
    language specifiers and trigger MD040; update each code fence that shows command
    usage—e.g., the blocks containing "/ship [optional commit message hint]" and
    "/pr:review [PR number, URL, or omit for current branch]" (and the similar block
    at lines noted 55-57)—to use the "text" language specifier so the fences become
    text ... to satisfy the linter.

</details>

---

<details>
<summary>ℹ️ Review info</summary>

**Configuration used**: defaults

**Review profile**: CHILL

**Plan**: Pro

<details>
<summary>📥 Commits</summary>

Reviewing files that changed from the base of the PR and between b2261ed0ad8af2187037aa8649815c55e47ebfae and d04e7069d4b46aa26ab5b06f9dcc65d14a6b06a0.

</details>

<details>
<summary>📒 Files selected for processing (29)</summary>

* `.devcontainer/CHANGELOG.md`
* `.devcontainer/connect-external-terminal.sh`
* `.devcontainer/features/ccstatusline/install.sh`
* `.devcontainer/features/tmux/install.sh`
* `.devcontainer/plugins/devs-marketplace/plugins/dangerous-command-blocker/scripts/block-dangerous.py`
* `.devcontainer/plugins/devs-marketplace/plugins/skill-engine/scripts/skill-suggester.py`
* `.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/scripts/ticket-linker.py`
* `.devcontainer/plugins/devs-marketplace/plugins/workspace-scope-guard/scripts/guard-workspace-scope.py`
* `.devcontainer/scripts/check-setup.sh`
* `.devcontainer/scripts/setup-config.sh`
* `.devcontainer/scripts/setup-plugins.sh`
* `.devcontainer/scripts/setup-projects.sh`
* `.devcontainer/scripts/setup-terminal.sh`
* `.devcontainer/scripts/setup.sh`
* `docs/src/content/docs/features/agents.md`
* `docs/src/content/docs/features/index.md`
* `docs/src/content/docs/features/skills.md`
* `docs/src/content/docs/getting-started/first-session.md`
* `docs/src/content/docs/getting-started/index.md`
* `docs/src/content/docs/getting-started/installation.md`
* `docs/src/content/docs/index.mdx`
* `docs/src/content/docs/plugins/agent-system.md`
* `docs/src/content/docs/plugins/git-workflow.md`
* `docs/src/content/docs/plugins/index.md`
* `docs/src/content/docs/plugins/prompt-snippets.md`
* `docs/src/content/docs/reference/architecture.md`
* `docs/src/content/docs/reference/changelog.md`
* `docs/src/content/docs/reference/commands.md`
* `docs/src/content/docs/reference/index.md`

</details>

</details>

<!-- This is an auto-generated comment by CodeRabbit for review status -->

Comment on lines +38 to +40
if [ -f "$ENV_FILE" ]; then
sed -i 's|^CONFIG_SOURCE_DIR=.*/workspaces/\.claude.*|# CONFIG_SOURCE_DIR removed (v2.0: now uses .devcontainer/config)|' "$ENV_FILE"
echo "[setup] .env updated — CONFIG_SOURCE_DIR line commented out."
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Check sed success before reporting .env migration complete.

At Line 39, sed -i can fail, but Line 40 always prints that the .env line was updated. That can leave stale config on disk while reporting success.

Suggested fix
     if [ -f "$ENV_FILE" ]; then
-        sed -i 's|^CONFIG_SOURCE_DIR=.*/workspaces/\.claude.*|# CONFIG_SOURCE_DIR removed (v2.0: now uses .devcontainer/config)|' "$ENV_FILE"
-        echo "[setup]   .env updated — CONFIG_SOURCE_DIR line commented out."
+        if sed -i 's|^CONFIG_SOURCE_DIR=.*/workspaces/\.claude.*|# CONFIG_SOURCE_DIR removed (v2.0: now uses .devcontainer/config)|' "$ENV_FILE"; then
+            echo "[setup]   .env updated — CONFIG_SOURCE_DIR line commented out."
+        else
+            echo "[setup]   WARNING: Could not update .env automatically; please remove stale CONFIG_SOURCE_DIR manually."
+        fi
     fi
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.devcontainer/scripts/setup.sh around lines 38 - 40, The sed invocation that
comments out CONFIG_SOURCE_DIR in ENV_FILE may fail but the script always prints
a success message; update the if-block around the sed command (the lines
invoking sed -i 's|^CONFIG_SOURCE_DIR=.*|# CONFIG_SOURCE_DIR removed...' on
ENV_FILE and the subsequent echo) to check sed's exit status (e.g., capture its
exit code or use &&/||), only print the "[setup] .env updated ..." message when
sed succeeds, and on failure print an error to stderr and exit non‑zero so
callers know the migration failed; target the sed invocation and the surrounding
echo in the script (ENV_FILE, the sed command and the success echo) to implement
this conditional reporting.

---
title: Skills
description: Complete reference for all 22 CodeForge skills — domain knowledge packs for frameworks, patterns, and workflows.
description: Complete reference for all 38 CodeForge skills — domain knowledge packs for frameworks, patterns, and workflows.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Description currently overstates page coverage.

The updated text says this page is a complete reference for all 38 skills, but this page enumerates only a subset of skills. Please soften wording to avoid implying full exhaustiveness.

✏️ Suggested wording tweak
-description: Complete reference for all 38 CodeForge skills — domain knowledge packs for frameworks, patterns, and workflows.
+description: Reference guide to CodeForge skills — domain knowledge packs for frameworks, patterns, and workflows.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
description: Complete reference for all 38 CodeForge skills — domain knowledge packs for frameworks, patterns, and workflows.
description: Reference guide to CodeForge skills — domain knowledge packs for frameworks, patterns, and workflows.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/src/content/docs/features/skills.md` at line 3, The frontmatter
description currently claims a "Complete reference for all 38 CodeForge skills"
which overstates the page's coverage; update the description string to a
softened statement such as "Reference for CodeForge skills" or "Overview of
CodeForge skills and selected domain knowledge packs" (edit the description
value in the frontmatter — the literal string starting with description:
Complete reference for all 38 CodeForge skills — domain knowledge packs for
frameworks, patterns, and workflows) so it no longer implies exhaustive
coverage.

See the [Plugins Overview](../plugins/) for the full list and detailed documentation.

### 21 Features and Tools
### 22 Features and Tools
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Clarify heading to avoid count ambiguity.

22 Features and Tools is ambiguous here since the section enumerates the toolchain. Using 22 Tools keeps terminology consistent with the rest of the page.

Proposed wording tweak
-### 22 Features and Tools
+### 22 Tools
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
### 22 Features and Tools
### 22 Tools
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/src/content/docs/getting-started/index.md` at line 55, The heading "22
Features and Tools" is ambiguous; update the heading text in the document to "22
Tools" to match the page's terminology and remove count ambiguity—locate the
heading string "22 Features and Tools" in the file and replace it with "22
Tools" ensuring any internal links or references to that heading are updated if
present.

Comment on lines +51 to +52
│ ├── features/ # 22 custom DevContainer features
│ ├── plugins/ # 14 plugins with hooks and scripts
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Feature count is still inconsistent within this page.

After updating to 22 features here, Line 73 still says “installs 21 DevContainer features.” Please update that line to keep installation guidance consistent.

As per coding guidelines, docs/**: User-facing documentation changes MUST be reflected in relevant pages in docs/ if the docs site exists.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/src/content/docs/getting-started/installation.md` around lines 51 - 52,
Update the inconsistent feature count in the installation docs: change the
phrase "installs 21 DevContainer features." to match the earlier "22 custom
DevContainer features" entry so both occurrences show 22; locate the sentence
containing the exact string "installs 21 DevContainer features." and replace the
numeric count to 22 to keep the user-facing docs consistent.

Comment on lines +99 to +112
CodeForge ships with 13 local marketplace plugins plus 1 external Anthropic plugin, organized into two categories: **core plugins** that provide primary functionality, and **safety and integration plugins** that protect your work and connect to external tools.

### Core Plugins

These plugins deliver the headline features of CodeForge — intelligent delegation, domain expertise, and workflow management.

| Plugin | What It Does |
|--------|-------------|
| [Agent System](./agent-system/) | 17 specialized agents with automatic delegation, CWD injection, and read-only enforcement |
| [Agent System](./agent-system/) | 21 specialized agents with automatic delegation, CWD injection, and read-only enforcement |
| [Skill Engine](./skill-engine/) | 22 domain skills with context-aware auto-suggestion |
| [Spec Workflow](./spec-workflow/) | Full specification lifecycle from creation through implementation to as-built closure |
| [Ticket Workflow](./ticket-workflow/) | GitHub issue integration with EARS-formatted tickets and automated PR reviews |
| [Git Workflow](./git-workflow/) | Standalone git operations: /ship (review/commit/push/PR) and /pr:review |
| [Prompt Snippets](./prompt-snippets/) | Quick behavioral mode switches via /ps command |
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Keep the enabledPlugins example aligned with the new core plugin list.

After adding git-workflow and prompt-snippets to shipped core plugins (Line 111-112), the JSON example should include them too, or explicitly label it as a partial example.

Suggested doc update (outside this changed hunk)
   "enabledPlugins": [
     "agent-system",
     "skill-engine",
     "spec-workflow",
+    "git-workflow",
+    "prompt-snippets",
     "session-context",
     "auto-code-quality",
     "workspace-scope-guard",

As per coding guidelines docs/**: User-facing documentation changes MUST be reflected in relevant pages in docs/ if the docs site exists.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/src/content/docs/plugins/index.md` around lines 99 - 112, Update the
JSON example for enabledPlugins to match the expanded core plugin list: include
"git-workflow" and "prompt-snippets" (or explicitly mark the JSON as a
partial/example) so the enabledPlugins example aligns with the new core plugins
shown in the table; locate the example that references enabledPlugins and add
those two keys or add a comment indicating it's partial to keep documentation
consistent with the Agent System, Skill Engine, Spec Workflow, Ticket Workflow,
Git Workflow, and Prompt Snippets entries.

@AnExiledDev
Copy link
Owner Author

Review Summary

Reviewed 29 files (330+/78-) covering ccstatusline deployment fix, shell script hardening, Python plugin bug fixes, and documentation updates.

Verified changes:

  • Core deployment fix (CONFIG_SOURCE_DIR guard + ownership fix) — correct
  • sed regex \.claude in setup.sh:39 — verified: \. correctly matches literal . in BRE
  • check-setup.sh permissions — confirmed 100755 in git index
  • Python fixes: fail-closed in dangerous-command-blocker, weighted tuples in skill-suggester, narrowed exceptions in ticket-linker, maxsplit in workspace-scope-guard — all correct
  • Shell hardening: whichcommand -v, &>>/dev/null 2>&1, quoted variables, set -euo pipefail — proper POSIX best practices
  • Documentation count updates (agents 17→21, skills 34→38, plugins 12→14, tools 21→22) — verified accurate

Issues found: None
Verdict: Approved — merging.

Note: Also closing #26 as superseded — its commit (a4aeb57) is included in this PR.

New plugin pages were added but not included in the Starlight
sidebar configuration, causing the docs build to fail.
@AnExiledDev AnExiledDev merged commit 1871533 into main Feb 26, 2026
6 checks passed
@AnExiledDev AnExiledDev deleted the fix/ccstatusline-deployment branch February 26, 2026 21:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant