codeforge-dev 1.11.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 +69 -0
- package/.devcontainer/CLAUDE.md +73 -3
- package/.devcontainer/README.md +33 -7
- package/.devcontainer/config/defaults/main-system-prompt.md +28 -0
- package/.devcontainer/config/defaults/writing-system-prompt.md +46 -4
- package/.devcontainer/connect-external-terminal.ps1 +1 -1
- package/.devcontainer/devcontainer.json +32 -9
- 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/install.sh +30 -13
- 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/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/claude-guide.md +1 -1
- 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/explorer.md +1 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/agents/generalist.md +1 -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/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/README.md +94 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/workspace-scope-guard/scripts/guard-workspace-scope.py +1 -1
- package/.devcontainer/scripts/check-setup.sh +1 -1
- 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
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "splitrail",
|
|
3
|
-
"version": "1.0.1",
|
|
4
|
-
"name": "Splitrail Token Usage Tracker",
|
|
5
|
-
"description": "Installs Splitrail - real-time AI token usage tracker and cost monitor",
|
|
6
|
-
"maintainer": "AnExiledDev",
|
|
7
|
-
"documentationURL": "https://github.com/Piebald-AI/splitrail",
|
|
8
|
-
"options": {
|
|
9
|
-
"version": {
|
|
10
|
-
"type": "string",
|
|
11
|
-
"description": "Version to install (or 'none' to skip installation)",
|
|
12
|
-
"default": "latest"
|
|
13
|
-
},
|
|
14
|
-
"repoUrl": {
|
|
15
|
-
"type": "string",
|
|
16
|
-
"description": "Git repository URL for splitrail",
|
|
17
|
-
"default": "https://github.com/Piebald-AI/splitrail.git"
|
|
18
|
-
},
|
|
19
|
-
"branch": {
|
|
20
|
-
"type": "string",
|
|
21
|
-
"description": "Git branch to checkout",
|
|
22
|
-
"default": "main"
|
|
23
|
-
},
|
|
24
|
-
"username": {
|
|
25
|
-
"type": "string",
|
|
26
|
-
"description": "Container user to install for",
|
|
27
|
-
"default": "automatic"
|
|
28
|
-
}
|
|
29
|
-
},
|
|
30
|
-
"installsAfter": [
|
|
31
|
-
"ghcr.io/devcontainers/features/rust:1",
|
|
32
|
-
"ghcr.io/devcontainers/features/common-utils:2"
|
|
33
|
-
],
|
|
34
|
-
"customizations": {
|
|
35
|
-
"vscode": {
|
|
36
|
-
"extensions": []
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
@@ -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 "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|