codeforge-dev 1.10.0 → 1.12.0
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.
- package/.devcontainer/.env +7 -1
- package/.devcontainer/.gitignore +1 -0
- package/.devcontainer/CHANGELOG.md +138 -0
- package/.devcontainer/CLAUDE.md +87 -8
- package/.devcontainer/README.md +55 -18
- package/.devcontainer/config/defaults/main-system-prompt.md +132 -152
- package/.devcontainer/config/defaults/rules/session-search.md +66 -0
- package/.devcontainer/config/defaults/rules/spec-workflow.md +39 -12
- package/.devcontainer/config/defaults/settings.json +2 -1
- package/.devcontainer/config/defaults/writing-system-prompt.md +185 -0
- package/.devcontainer/config/file-manifest.json +12 -0
- package/.devcontainer/connect-external-terminal.ps1 +1 -1
- package/.devcontainer/devcontainer.json +40 -10
- package/.devcontainer/docs/configuration-reference.md +3 -0
- package/.devcontainer/docs/plugins.md +9 -2
- package/.devcontainer/docs/troubleshooting.md +2 -2
- package/.devcontainer/features/README.md +8 -9
- package/.devcontainer/features/agent-browser/devcontainer-feature.json +21 -21
- package/.devcontainer/features/agent-browser/install.sh +0 -7
- package/.devcontainer/features/ast-grep/devcontainer-feature.json +22 -22
- package/.devcontainer/features/biome/devcontainer-feature.json +12 -14
- package/.devcontainer/features/ccms/README.md +50 -0
- package/.devcontainer/features/ccms/devcontainer-feature.json +21 -0
- package/.devcontainer/features/ccms/install.sh +122 -0
- package/.devcontainer/features/ccstatusline/install.sh +24 -2
- package/.devcontainer/features/lsp-servers/devcontainer-feature.json +43 -43
- package/.devcontainer/features/mcp-qdrant/poststart-hook.sh +2 -1
- package/.devcontainer/features/ruff/devcontainer-feature.json +17 -19
- package/.devcontainer/features/tmux/install.sh +2 -2
- package/.devcontainer/plugins/devs-marketplace/.claude-plugin/marketplace.json +8 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/auto-formatter/README.md +81 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/auto-linter/README.md +92 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/README.md +250 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/agents/architect.md +1 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/agents/claude-guide.md +2 -2
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/agents/debug-logs.md +1 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/agents/dependency-analyst.md +1 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/agents/doc-writer.md +4 -4
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/agents/explorer.md +1 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/agents/generalist.md +2 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/agents/git-archaeologist.md +2 -2
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/agents/researcher.md +1 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/agents/security-auditor.md +1 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/agents/spec-writer.md +8 -8
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/hooks/hooks.json +10 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/skill-suggester.cpython-314.pyc +0 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/git-state-injector.py +15 -4
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/inject-cwd.py +37 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/skill-suggester.py +24 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/spec-reminder.py +3 -2
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/skills/spec-build/SKILL.md +353 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/skills/spec-build/references/review-checklist.md +175 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/skills/spec-check/SKILL.md +15 -14
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/skills/spec-init/SKILL.md +12 -11
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/skills/spec-init/references/backlog-template.md +1 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/skills/spec-init/references/milestones-template.md +32 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/skills/spec-new/SKILL.md +17 -18
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/skills/spec-new/references/template.md +12 -2
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/skills/spec-review/SKILL.md +229 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/skills/spec-update/SKILL.md +6 -2
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/skills/specification-writing/SKILL.md +1 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/codeforge-lsp/.claude-plugin/plugin.json +38 -5
- package/.devcontainer/plugins/devs-marketplace/plugins/codeforge-lsp/README.md +41 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/dangerous-command-blocker/README.md +72 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/dangerous-command-blocker/scripts/block-dangerous.py +73 -47
- package/.devcontainer/plugins/devs-marketplace/plugins/notify-hook/README.md +42 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/protected-files-guard/README.md +86 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/protected-files-guard/hooks/hooks.json +25 -15
- package/.devcontainer/plugins/devs-marketplace/plugins/protected-files-guard/scripts/guard-protected-bash.py +122 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/protected-files-guard/scripts/guard-protected.py +3 -3
- package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/README.md +96 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/workspace-scope-guard/.claude-plugin/plugin.json +7 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/workspace-scope-guard/README.md +94 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/workspace-scope-guard/hooks/hooks.json +17 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/workspace-scope-guard/scripts/__pycache__/guard-workspace-scope.cpython-314.pyc +0 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/workspace-scope-guard/scripts/guard-workspace-scope.py +132 -0
- package/.devcontainer/scripts/check-setup.sh +1 -1
- package/.devcontainer/scripts/setup-aliases.sh +68 -75
- package/.devcontainer/scripts/setup-projects.sh +23 -16
- package/.devcontainer/scripts/setup.sh +48 -5
- package/README.md +17 -8
- package/package.json +1 -2
- package/.devcontainer/features/mcp-reasoner/README.md +0 -177
- package/.devcontainer/features/mcp-reasoner/devcontainer-feature.json +0 -25
- package/.devcontainer/features/mcp-reasoner/install.sh +0 -184
- package/.devcontainer/features/mcp-reasoner/poststart-hook.sh +0 -67
- package/.devcontainer/features/splitrail/README.md +0 -140
- package/.devcontainer/features/splitrail/devcontainer-feature.json +0 -39
- package/.devcontainer/features/splitrail/install.sh +0 -136
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/skills/spec-init/references/roadmap-template.md +0 -33
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
set -euo pipefail
|
|
3
|
-
|
|
4
|
-
# Cleanup on exit
|
|
5
|
-
cleanup() {
|
|
6
|
-
rm -f /tmp/splitrail-* 2>/dev/null || true
|
|
7
|
-
}
|
|
8
|
-
trap cleanup EXIT
|
|
9
|
-
|
|
10
|
-
# Import options
|
|
11
|
-
# NOTE: DevContainer converts camelCase to UPPERCASE without underscores
|
|
12
|
-
VERSION="${VERSION:-latest}"
|
|
13
|
-
REPO_URL="${REPOURL:-https://github.com/Piebald-AI/splitrail.git}"
|
|
14
|
-
BRANCH="${BRANCH:-main}"
|
|
15
|
-
USERNAME="${USERNAME:-automatic}"
|
|
16
|
-
|
|
17
|
-
# Skip installation if version is "none"
|
|
18
|
-
if [ "${VERSION}" = "none" ]; then
|
|
19
|
-
echo "[splitrail] Skipping installation (version=none)"
|
|
20
|
-
exit 0
|
|
21
|
-
fi
|
|
22
|
-
|
|
23
|
-
echo "[splitrail] Starting Splitrail installation..."
|
|
24
|
-
|
|
25
|
-
# Validate git is available
|
|
26
|
-
if ! command -v git &>/dev/null; then
|
|
27
|
-
echo "[splitrail] ERROR: git is not available"
|
|
28
|
-
exit 1
|
|
29
|
-
fi
|
|
30
|
-
|
|
31
|
-
# Validate cargo is available
|
|
32
|
-
if ! command -v cargo &>/dev/null; then
|
|
33
|
-
echo "[splitrail] ERROR: cargo is not available. Please ensure Rust feature is installed first."
|
|
34
|
-
echo " Expected cargo at: /usr/local/cargo/bin/cargo"
|
|
35
|
-
exit 1
|
|
36
|
-
fi
|
|
37
|
-
|
|
38
|
-
# Validate input parameters
|
|
39
|
-
if [ -n "${REPO_URL}" ]; then
|
|
40
|
-
if [[ ! "${REPO_URL}" =~ ^https?:// ]] && [[ ! "${REPO_URL}" =~ ^git@.+:.+\.git$ ]]; then
|
|
41
|
-
echo "[splitrail] ERROR: repoUrl must be a valid git URL"
|
|
42
|
-
echo " Provided: ${REPO_URL}"
|
|
43
|
-
echo " Expected: https://... or git@github.com:.../*.git"
|
|
44
|
-
exit 1
|
|
45
|
-
fi
|
|
46
|
-
fi
|
|
47
|
-
|
|
48
|
-
# Determine the user
|
|
49
|
-
if [ "${USERNAME}" = "auto" ] || [ "${USERNAME}" = "automatic" ]; then
|
|
50
|
-
USERNAME=""
|
|
51
|
-
for CURRENT_USER in vscode node codespace; do
|
|
52
|
-
if id -u "${CURRENT_USER}" >/dev/null 2>&1; then
|
|
53
|
-
USERNAME=${CURRENT_USER}
|
|
54
|
-
break
|
|
55
|
-
fi
|
|
56
|
-
done
|
|
57
|
-
[ -z "${USERNAME}" ] && USERNAME=root
|
|
58
|
-
elif [ "${USERNAME}" = "none" ] || ! id -u "${USERNAME}" >/dev/null 2>&1; then
|
|
59
|
-
USERNAME=root
|
|
60
|
-
fi
|
|
61
|
-
|
|
62
|
-
echo "[splitrail] Installing for user: ${USERNAME}"
|
|
63
|
-
|
|
64
|
-
INSTALL_DIR="/home/${USERNAME}/splitrail"
|
|
65
|
-
BINARY="/home/${USERNAME}/.cargo/bin/splitrail"
|
|
66
|
-
|
|
67
|
-
if [[ -f "$BINARY" ]]; then
|
|
68
|
-
echo "[splitrail] Splitrail already installed at $BINARY. Skipping..."
|
|
69
|
-
else
|
|
70
|
-
echo "[splitrail] Installing Splitrail (Rust compilation - may take 2-3 minutes)..."
|
|
71
|
-
|
|
72
|
-
# Use explicit cargo path and rustup home (global installation from devcontainer Rust feature)
|
|
73
|
-
export PATH="/usr/local/cargo/bin:$PATH"
|
|
74
|
-
export RUSTUP_HOME="/usr/local/rustup"
|
|
75
|
-
|
|
76
|
-
# Fix permissions on rustup directories for non-root user access during build
|
|
77
|
-
mkdir -p /usr/local/rustup/tmp
|
|
78
|
-
chmod -R 777 /usr/local/rustup 2>/dev/null || true
|
|
79
|
-
|
|
80
|
-
# Clone and build as detected user
|
|
81
|
-
sudo -u "${USERNAME}" bash -c "
|
|
82
|
-
# Use explicit cargo path and rustup home for user context
|
|
83
|
-
export PATH=\"/usr/local/cargo/bin:\$PATH\"
|
|
84
|
-
export RUSTUP_HOME=\"/usr/local/rustup\"
|
|
85
|
-
|
|
86
|
-
cd /home/${USERNAME}
|
|
87
|
-
rm -rf splitrail
|
|
88
|
-
|
|
89
|
-
echo \"[splitrail] → Cloning splitrail repository...\"
|
|
90
|
-
git clone -b \"${BRANCH}\" \"${REPO_URL}\" splitrail
|
|
91
|
-
cd splitrail
|
|
92
|
-
|
|
93
|
-
echo \"[splitrail] → Compiling splitrail (this will take a few minutes)...\"
|
|
94
|
-
cargo build --release
|
|
95
|
-
|
|
96
|
-
echo \"[splitrail] → Installing binary...\"
|
|
97
|
-
cargo install --path .
|
|
98
|
-
"
|
|
99
|
-
|
|
100
|
-
# Verify installation
|
|
101
|
-
if [[ ! -f "$BINARY" ]]; then
|
|
102
|
-
echo "[splitrail] ERROR: Splitrail compilation failed - binary not found"
|
|
103
|
-
echo " Expected location: $BINARY"
|
|
104
|
-
echo " Check build output above for errors"
|
|
105
|
-
exit 1
|
|
106
|
-
fi
|
|
107
|
-
|
|
108
|
-
echo "[splitrail] ✓ Splitrail installed successfully at $BINARY"
|
|
109
|
-
fi
|
|
110
|
-
|
|
111
|
-
echo ""
|
|
112
|
-
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
113
|
-
echo " Splitrail Installation Complete"
|
|
114
|
-
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
115
|
-
echo ""
|
|
116
|
-
echo "Configuration:"
|
|
117
|
-
echo " • Install Path: ${INSTALL_DIR}"
|
|
118
|
-
echo " • Binary: ${BINARY}"
|
|
119
|
-
echo " • Repository: ${REPO_URL}"
|
|
120
|
-
echo " • Branch: ${BRANCH}"
|
|
121
|
-
echo " • User: ${USERNAME}"
|
|
122
|
-
echo ""
|
|
123
|
-
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
124
|
-
echo " Next Steps"
|
|
125
|
-
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
126
|
-
echo ""
|
|
127
|
-
echo "1. Test the binary:"
|
|
128
|
-
echo " splitrail --version"
|
|
129
|
-
echo ""
|
|
130
|
-
echo "2. Start monitoring:"
|
|
131
|
-
echo " splitrail"
|
|
132
|
-
echo ""
|
|
133
|
-
echo "3. View help:"
|
|
134
|
-
echo " splitrail --help"
|
|
135
|
-
echo ""
|
|
136
|
-
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
# Roadmap
|
|
2
|
-
|
|
3
|
-
> Features live in the priority-graded backlog until pulled into a version.
|
|
4
|
-
> Versions are scoped and spec'd when ready to build — not pre-assigned.
|
|
5
|
-
> See `BACKLOG.md` for the feature backlog.
|
|
6
|
-
|
|
7
|
-
## How Versioning Works
|
|
8
|
-
|
|
9
|
-
1. **Backlog** — All desired features live in `BACKLOG.md`, graded by priority.
|
|
10
|
-
2. **Version scoping** — When ready to start a new version, pull features from the backlog.
|
|
11
|
-
3. **Spec first** — Each feature in a version gets a spec before implementation begins.
|
|
12
|
-
4. **Ship** — Version is done when all its specs are implemented and verified.
|
|
13
|
-
|
|
14
|
-
Only the **next version** is defined in detail. Everything else is backlog.
|
|
15
|
-
|
|
16
|
-
## Released
|
|
17
|
-
|
|
18
|
-
_None yet._
|
|
19
|
-
|
|
20
|
-
## Current
|
|
21
|
-
|
|
22
|
-
### v0.1.0 — [Name] 🔧
|
|
23
|
-
|
|
24
|
-
- [ ] [Feature pulled from backlog]
|
|
25
|
-
- [ ] [Feature pulled from backlog]
|
|
26
|
-
|
|
27
|
-
## Next
|
|
28
|
-
|
|
29
|
-
> Scoped from `BACKLOG.md` when current version is complete.
|
|
30
|
-
|
|
31
|
-
## Out of Scope
|
|
32
|
-
|
|
33
|
-
- [Items explicitly not planned]
|