@lifeaitools/rdc-skills 0.24.37 → 0.24.39
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/.claude/settings.json +15 -15
- package/.claude-plugin/marketplace.json +21 -21
- package/.claude-plugin/plugin.json +1371 -1371
- package/.github/workflows/publish.yml +34 -34
- package/.github/workflows/self-test.yml +58 -58
- package/CHANGELOG.md +310 -310
- package/LICENSE +21 -21
- package/MANIFEST.md +221 -221
- package/README.md +377 -377
- package/README.sandbox.md +3 -3
- package/assets/watcher/viewer.html +164 -164
- package/bin/rdc-skills-mcp.mjs +316 -316
- package/commands/build.md +183 -183
- package/commands/collab.md +180 -180
- package/commands/deploy.md +152 -152
- package/commands/design.md +31 -31
- package/commands/edit.md +28 -28
- package/commands/fixit.md +124 -124
- package/commands/handoff.md +173 -173
- package/commands/help.md +95 -95
- package/commands/overnight.md +220 -220
- package/commands/plan.md +158 -158
- package/commands/preplan.md +131 -131
- package/commands/prototype.md +145 -145
- package/commands/release.md +49 -49
- package/commands/report.md +99 -99
- package/commands/review.md +120 -120
- package/commands/self-test.md +113 -113
- package/commands/status.md +86 -86
- package/commands/watch.md +98 -98
- package/commands/workitems.md +137 -137
- package/git-sha.json +1 -1
- package/guides/agent-bootstrap.md +295 -295
- package/guides/agents/backend.md +104 -104
- package/guides/agents/content.md +94 -94
- package/guides/agents/cs2.md +56 -56
- package/guides/agents/data.md +87 -87
- package/guides/agents/design.md +77 -77
- package/guides/agents/frontend.md +92 -92
- package/guides/agents/infrastructure.md +81 -81
- package/guides/agents/setup.md +281 -281
- package/guides/agents/verify.md +151 -151
- package/guides/agents/viz.md +106 -106
- package/guides/backend.md +146 -146
- package/guides/content.md +147 -147
- package/guides/cs2.md +190 -190
- package/guides/data.md +123 -123
- package/guides/design.md +116 -116
- package/guides/engineering-behavior.md +43 -43
- package/guides/escalation-protocol.md +125 -125
- package/guides/frontend.md +151 -151
- package/guides/history-md-spec.md +297 -297
- package/guides/infrastructure.md +179 -179
- package/guides/lessons-learned-spec.md +153 -153
- package/guides/output-contract.md +108 -108
- package/guides/publish-md-spec.md +289 -289
- package/guides/rdc-skills-startup.md +30 -30
- package/guides/verify.md +11 -11
- package/hooks/check-cwd.js +31 -31
- package/hooks/check-rdc-environment.js +164 -164
- package/hooks/check-services.js +6 -6
- package/hooks/check-stale-work-items.js +19 -19
- package/hooks/foreground-process-gate.js +128 -128
- package/hooks/gate-watchdog-selfcheck.js +257 -257
- package/hooks/hook-logger.js +25 -25
- package/hooks/lib/run-evidence-gate.mjs +241 -241
- package/hooks/no-stop-open-epics.js +127 -127
- package/hooks/post-tool-batch-gate.js +203 -203
- package/hooks/post-work-check.js +21 -21
- package/hooks/postcompact-log.js +13 -13
- package/hooks/precompact-log.js +13 -13
- package/hooks/rate-limit-retry.js +46 -46
- package/hooks/rdc-invocation-marker.js +157 -157
- package/hooks/rdc-output-contract-gate.js +94 -94
- package/hooks/require-work-item-on-commit.js +294 -294
- package/hooks/restart-brief.js +19 -19
- package/hooks/run-hidden-hook.ps1 +47 -47
- package/hooks/task-completed-gate.js +274 -274
- package/hooks/work-item-exit-gate.js +944 -944
- package/lib/catalog.mjs +236 -236
- package/lib/cloud-rewrite.mjs +155 -155
- package/package.json +56 -56
- package/rules/work-items-rpc.md +520 -520
- package/scaffold/templates/HISTORY.md.template +39 -39
- package/scaffold/templates/PUBLISH.md.template +21 -21
- package/scaffold/templates/brochure-studio-default.html +70 -70
- package/scripts/acceptance.mjs +502 -502
- package/scripts/fixtures/guides/bad-guide.md +15 -15
- package/scripts/fixtures/guides-clean/good-guide.md +16 -16
- package/scripts/install-rdc-skills.js +1289 -1289
- package/scripts/install.ps1 +202 -202
- package/scripts/install.sh +132 -132
- package/scripts/lib/assertions.mjs +287 -287
- package/scripts/lib/manifest-schema.mjs +754 -754
- package/scripts/lib/runner.mjs +465 -465
- package/scripts/lib/sandbox.mjs +435 -435
- package/scripts/prepack.mjs +32 -32
- package/scripts/rdc-brochure.mjs +464 -464
- package/scripts/rdc-design-cli.mjs +134 -134
- package/scripts/rebuild-mcp.mjs +107 -107
- package/scripts/self-test.mjs +1460 -1460
- package/scripts/stamp-git-sha.mjs +29 -29
- package/scripts/test-guide-validator.mjs +196 -196
- package/scripts/test-rdc-hooks.mjs +145 -145
- package/scripts/uninstall.ps1 +77 -77
- package/scripts/uninstall.sh +69 -69
- package/scripts/update.ps1 +43 -43
- package/scripts/update.sh +43 -43
- package/scripts/validate-place-histories.js +461 -461
- package/scripts/validate-publish-manifests.js +424 -424
- package/scripts/watch-init.mjs +100 -100
- package/skills/brochure/SKILL.md +107 -107
- package/skills/build/SKILL.md +563 -554
- package/skills/channel-formatter/SKILL.md +533 -533
- package/skills/co-develop/SKILL.md +196 -196
- package/skills/collab/SKILL.md +239 -239
- package/skills/convert/SKILL.md +140 -140
- package/skills/deploy/SKILL.md +541 -541
- package/skills/design/SKILL.md +211 -211
- package/skills/design/reference/ownership.md +16 -16
- package/skills/design/reference/rampa.md +92 -92
- package/skills/design/reference/studio-model.md +153 -153
- package/skills/edit/SKILL.md +98 -98
- package/skills/fixit/SKILL.md +165 -165
- package/skills/fs-mcp/SKILL.md +148 -148
- package/skills/handoff/SKILL.md +236 -200
- package/skills/help/SKILL.md +143 -143
- package/skills/housekeeping/SKILL.md +189 -189
- package/skills/lifeai-brochure-author/SKILL.md +340 -340
- package/skills/overnight/SKILL.md +251 -251
- package/skills/plan/SKILL.md +345 -314
- package/skills/preplan/SKILL.md +90 -90
- package/skills/prototype/SKILL.md +150 -150
- package/skills/rdc-brochurify/SKILL.md +245 -245
- package/skills/rdc-extract-verifier-rules/SKILL.md +191 -191
- package/skills/release/SKILL.md +140 -140
- package/skills/report/SKILL.md +100 -100
- package/skills/review/SKILL.md +152 -152
- package/skills/rpms-filemap/SKILL.cloud.md +111 -111
- package/skills/rpms-filemap/SKILL.md +111 -111
- package/skills/self-test/SKILL.md +132 -132
- package/skills/status/SKILL.md +99 -99
- package/skills/terminal-config/SKILL.md +62 -62
- package/skills/tests/MATRIX.md +54 -54
- package/skills/tests/README.md +47 -47
- package/skills/tests/rdc-brochure.test.json +34 -34
- package/skills/tests/rdc-build.test.json +36 -36
- package/skills/tests/rdc-channel-formatter.test.json +45 -45
- package/skills/tests/rdc-co-develop.test.json +29 -29
- package/skills/tests/rdc-collab.test.json +29 -29
- package/skills/tests/rdc-convert.test.json +35 -35
- package/skills/tests/rdc-deploy.test.json +30 -30
- package/skills/tests/rdc-design.test.json +27 -27
- package/skills/tests/rdc-edit.test.json +29 -29
- package/skills/tests/rdc-fixit.test.json +36 -36
- package/skills/tests/rdc-fs-mcp.test.json +36 -36
- package/skills/tests/rdc-handoff.test.json +28 -28
- package/skills/tests/rdc-help.test.json +29 -29
- package/skills/tests/rdc-housekeeping.test.json +31 -31
- package/skills/tests/rdc-lifeai-brochure-author.test.json +35 -35
- package/skills/tests/rdc-overnight.test.json +37 -37
- package/skills/tests/rdc-plan.test.json +27 -27
- package/skills/tests/rdc-preplan.test.json +31 -31
- package/skills/tests/rdc-prototype.test.json +28 -28
- package/skills/tests/rdc-rdc-brochurify.test.json +23 -23
- package/skills/tests/rdc-rdc-extract-verifier-rules.test.json +34 -34
- package/skills/tests/rdc-release.test.json +29 -29
- package/skills/tests/rdc-report.test.json +28 -28
- package/skills/tests/rdc-review.test.json +29 -29
- package/skills/tests/rdc-rpms-filemap.test.json +28 -28
- package/skills/tests/rdc-self-test.test.json +24 -24
- package/skills/tests/rdc-status.test.json +29 -29
- package/skills/tests/rdc-terminal-config.test.json +29 -29
- package/skills/tests/rdc-watch.test.json +24 -24
- package/skills/tests/rdc-workitems.test.json +27 -27
- package/skills/watch/SKILL.md +97 -97
- package/skills/workitems/SKILL.md +151 -151
- package/tests/acceptance.test.mjs +59 -59
- package/tests/channel-formatter.contract.test.mjs +251 -251
- package/tests/curl-surface.test.mjs +289 -289
- package/tests/harness-gates.test.mjs +325 -325
- package/tests/help-surface.test.mjs +61 -61
- package/tests/install-rdc-skills.test.mjs +49 -49
- package/tests/manifest-contract-fields.test.mjs +78 -78
- package/tests/mcp.test.mjs +271 -271
- package/tests/require-work-item-on-commit.test.mjs +162 -162
- package/tests/run-evidence-gate.test.mjs +82 -82
- package/tests/skill-test-matrix.test.mjs +66 -66
- package/tests/validate-skills.js +27 -27
- package/tests/work-item-exit-gate-l2.test.mjs +368 -368
- package/tests/work-item-exit-gate-l3.test.mjs +197 -197
package/scripts/install.sh
CHANGED
|
@@ -1,132 +1,132 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# DEPRECATED as of v0.6.0 — use /plugin install rdc-skills.
|
|
3
|
-
# Will be removed in v0.7.0. See README.md "Install" section.
|
|
4
|
-
#
|
|
5
|
-
# Install rdc-skills plugin to Claude Code
|
|
6
|
-
# Unix/macOS bash script
|
|
7
|
-
|
|
8
|
-
set -u
|
|
9
|
-
# NOTE: intentionally NOT using `set -e`
|
|
10
|
-
|
|
11
|
-
# Guard: warn if rdc-skills plugin is already active in settings.json
|
|
12
|
-
# Running this script alongside the plugin creates duplicate skill entries.
|
|
13
|
-
SETTINGS_FILE="${HOME}/.claude/settings.json"
|
|
14
|
-
if [ -f "$SETTINGS_FILE" ] && python3 -c "
|
|
15
|
-
import json, sys
|
|
16
|
-
s = json.load(open('$SETTINGS_FILE'))
|
|
17
|
-
plugins = s.get('enabledPlugins', {})
|
|
18
|
-
if plugins.get('rdc-skills@rdc-skills'):
|
|
19
|
-
sys.exit(1)
|
|
20
|
-
" 2>/dev/null; then
|
|
21
|
-
: # plugin not active — safe to proceed
|
|
22
|
-
else
|
|
23
|
-
echo "⚠️ WARNING: rdc-skills@rdc-skills plugin is active in ~/.claude/settings.json"
|
|
24
|
-
echo " Running this script alongside the plugin creates DUPLICATE skill entries."
|
|
25
|
-
echo " Each skill will appear 2-3x in your skill list."
|
|
26
|
-
echo ""
|
|
27
|
-
echo " If you want to use the plugin (recommended), do NOT run this script."
|
|
28
|
-
echo " If you want to use this script instead, disable the plugin first:"
|
|
29
|
-
echo " Set \"rdc-skills@rdc-skills\": false in ~/.claude/settings.json"
|
|
30
|
-
echo ""
|
|
31
|
-
read -p "Continue anyway? (y/N) " confirm
|
|
32
|
-
if [ "$confirm" != "y" ] && [ "$confirm" != "Y" ]; then
|
|
33
|
-
echo "Aborted."
|
|
34
|
-
exit 0
|
|
35
|
-
fi
|
|
36
|
-
fi — it aborts the whole install on any
|
|
37
|
-
# single file glitch (stale lock, permission hiccup, cp retry). We want the
|
|
38
|
-
# loop to power through and report failures at the end, not die silently
|
|
39
|
-
# after the first file. Past bug: every install "only copied rdc-backend.md".
|
|
40
|
-
|
|
41
|
-
CLAUDE_HOME="${CLAUDE_HOME:-$HOME/.claude}"
|
|
42
|
-
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
43
|
-
REPO_ROOT="$(dirname "$SCRIPT_DIR")"
|
|
44
|
-
|
|
45
|
-
echo "rdc-skills Installer"
|
|
46
|
-
echo "==================="
|
|
47
|
-
echo ""
|
|
48
|
-
|
|
49
|
-
# Check CLAUDE_HOME exists
|
|
50
|
-
if [ ! -d "$CLAUDE_HOME" ]; then
|
|
51
|
-
echo "ERROR: CLAUDE_HOME does not exist: $CLAUDE_HOME"
|
|
52
|
-
echo " Create it first: mkdir -p \"$CLAUDE_HOME\""
|
|
53
|
-
exit 1
|
|
54
|
-
fi
|
|
55
|
-
|
|
56
|
-
echo "CLAUDE_HOME: $CLAUDE_HOME"
|
|
57
|
-
echo ""
|
|
58
|
-
|
|
59
|
-
# Create skills directory
|
|
60
|
-
SKILLS_DIR="$CLAUDE_HOME/skills/user"
|
|
61
|
-
mkdir -p "$SKILLS_DIR"
|
|
62
|
-
echo "✓ Skills directory: $SKILLS_DIR"
|
|
63
|
-
|
|
64
|
-
# Copy skills — bulk cp is atomic and much harder to kill than a per-file loop.
|
|
65
|
-
# Prior bug: per-file loop under `set -e` aborted after the first file on any
|
|
66
|
-
# cp glitch, leaving the install half-applied. Bulk cp runs once, reports once.
|
|
67
|
-
if [ -d "$REPO_ROOT/skills" ]; then
|
|
68
|
-
SKILL_COUNT=0
|
|
69
|
-
# Read version from package.json
|
|
70
|
-
PKG_VERSION=$(python3 -c "import json; print(json.load(open('$REPO_ROOT/package.json'))['version'])" 2>/dev/null || echo "unknown")
|
|
71
|
-
VERSION_STAMP="<!-- rdc-skills v${PKG_VERSION} -->"
|
|
72
|
-
|
|
73
|
-
# Skills are in subdirectories: skills/<name>/SKILL.md → rdc-<name>.md
|
|
74
|
-
for skill_dir in "$REPO_ROOT"/skills/*/; do
|
|
75
|
-
name=$(basename "$skill_dir")
|
|
76
|
-
src="$skill_dir/SKILL.md"
|
|
77
|
-
dst="$SKILLS_DIR/rdc-${name}.md"
|
|
78
|
-
if [ -f "$src" ]; then
|
|
79
|
-
# Prepend version stamp then file content
|
|
80
|
-
{ echo "$VERSION_STAMP"; cat "$src"; } > "$dst" 2>&1 || echo " (cp warning — failed to copy $name)"
|
|
81
|
-
SKILL_COUNT=$((SKILL_COUNT + 1))
|
|
82
|
-
echo " → rdc-${name}.md [v${PKG_VERSION}]"
|
|
83
|
-
fi
|
|
84
|
-
done
|
|
85
|
-
if [ "$SKILL_COUNT" -gt 0 ]; then
|
|
86
|
-
echo " ✓ Copied $SKILL_COUNT skill(s)"
|
|
87
|
-
INSTALLED=$(ls -1 "$SKILLS_DIR"/rdc-*.md 2>/dev/null | wc -l)
|
|
88
|
-
echo " ✓ Verified: $INSTALLED rdc-*.md file(s) present in $SKILLS_DIR"
|
|
89
|
-
if [ "$INSTALLED" -lt "$SKILL_COUNT" ]; then
|
|
90
|
-
echo " ⚠ WARNING: only $INSTALLED of $SKILL_COUNT installed — run install again or check permissions"
|
|
91
|
-
fi
|
|
92
|
-
else
|
|
93
|
-
echo " (no SKILL.md files found in skills/ subdirectories)"
|
|
94
|
-
fi
|
|
95
|
-
fi
|
|
96
|
-
echo ""
|
|
97
|
-
|
|
98
|
-
# Create hooks directory
|
|
99
|
-
HOOKS_DIR="$CLAUDE_HOME/hooks"
|
|
100
|
-
mkdir -p "$HOOKS_DIR"
|
|
101
|
-
echo "✓ Hooks directory: $HOOKS_DIR"
|
|
102
|
-
|
|
103
|
-
# Copy hooks
|
|
104
|
-
HOOK_COUNT=0
|
|
105
|
-
if ls "$REPO_ROOT"/hooks/*.js >/dev/null 2>&1; then
|
|
106
|
-
cp "$REPO_ROOT"/hooks/*.js "$HOOKS_DIR/" 2>&1 || echo " (cp warning — some hooks may not have copied)"
|
|
107
|
-
chmod +x "$HOOKS_DIR"/*.js 2>/dev/null || true
|
|
108
|
-
HOOK_COUNT=$(ls -1 "$REPO_ROOT"/hooks/*.js 2>/dev/null | wc -l)
|
|
109
|
-
for hook in "$REPO_ROOT"/hooks/*.js; do
|
|
110
|
-
[ -f "$hook" ] && echo " → $(basename "$hook")"
|
|
111
|
-
done
|
|
112
|
-
fi
|
|
113
|
-
if [ "$HOOK_COUNT" -gt 0 ]; then
|
|
114
|
-
echo " ✓ Copied $HOOK_COUNT hook(s)"
|
|
115
|
-
fi
|
|
116
|
-
echo ""
|
|
117
|
-
|
|
118
|
-
echo "Installation Complete"
|
|
119
|
-
echo "====================="
|
|
120
|
-
echo ""
|
|
121
|
-
echo "Next steps:"
|
|
122
|
-
echo "1. Create project-specific guides in your codebase:"
|
|
123
|
-
echo " - docs/guides/agent-bootstrap.md (required — credentials, git rules)"
|
|
124
|
-
echo " - docs/guides/frontend.md (if building UI)"
|
|
125
|
-
echo " - docs/guides/backend.md (if building APIs)"
|
|
126
|
-
echo " - docs/guides/data.md (if doing DB work)"
|
|
127
|
-
echo ""
|
|
128
|
-
echo "2. Use rdc-skills/guides/*.md as starting point templates for your project overlays"
|
|
129
|
-
echo ""
|
|
130
|
-
echo "3. Run /rdc:status in Claude Code to verify setup"
|
|
131
|
-
echo ""
|
|
132
|
-
echo "For help: https://github.com/LIFEAI/rdc-skills#readme"
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# DEPRECATED as of v0.6.0 — use /plugin install rdc-skills.
|
|
3
|
+
# Will be removed in v0.7.0. See README.md "Install" section.
|
|
4
|
+
#
|
|
5
|
+
# Install rdc-skills plugin to Claude Code
|
|
6
|
+
# Unix/macOS bash script
|
|
7
|
+
|
|
8
|
+
set -u
|
|
9
|
+
# NOTE: intentionally NOT using `set -e`
|
|
10
|
+
|
|
11
|
+
# Guard: warn if rdc-skills plugin is already active in settings.json
|
|
12
|
+
# Running this script alongside the plugin creates duplicate skill entries.
|
|
13
|
+
SETTINGS_FILE="${HOME}/.claude/settings.json"
|
|
14
|
+
if [ -f "$SETTINGS_FILE" ] && python3 -c "
|
|
15
|
+
import json, sys
|
|
16
|
+
s = json.load(open('$SETTINGS_FILE'))
|
|
17
|
+
plugins = s.get('enabledPlugins', {})
|
|
18
|
+
if plugins.get('rdc-skills@rdc-skills'):
|
|
19
|
+
sys.exit(1)
|
|
20
|
+
" 2>/dev/null; then
|
|
21
|
+
: # plugin not active — safe to proceed
|
|
22
|
+
else
|
|
23
|
+
echo "⚠️ WARNING: rdc-skills@rdc-skills plugin is active in ~/.claude/settings.json"
|
|
24
|
+
echo " Running this script alongside the plugin creates DUPLICATE skill entries."
|
|
25
|
+
echo " Each skill will appear 2-3x in your skill list."
|
|
26
|
+
echo ""
|
|
27
|
+
echo " If you want to use the plugin (recommended), do NOT run this script."
|
|
28
|
+
echo " If you want to use this script instead, disable the plugin first:"
|
|
29
|
+
echo " Set \"rdc-skills@rdc-skills\": false in ~/.claude/settings.json"
|
|
30
|
+
echo ""
|
|
31
|
+
read -p "Continue anyway? (y/N) " confirm
|
|
32
|
+
if [ "$confirm" != "y" ] && [ "$confirm" != "Y" ]; then
|
|
33
|
+
echo "Aborted."
|
|
34
|
+
exit 0
|
|
35
|
+
fi
|
|
36
|
+
fi — it aborts the whole install on any
|
|
37
|
+
# single file glitch (stale lock, permission hiccup, cp retry). We want the
|
|
38
|
+
# loop to power through and report failures at the end, not die silently
|
|
39
|
+
# after the first file. Past bug: every install "only copied rdc-backend.md".
|
|
40
|
+
|
|
41
|
+
CLAUDE_HOME="${CLAUDE_HOME:-$HOME/.claude}"
|
|
42
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
43
|
+
REPO_ROOT="$(dirname "$SCRIPT_DIR")"
|
|
44
|
+
|
|
45
|
+
echo "rdc-skills Installer"
|
|
46
|
+
echo "==================="
|
|
47
|
+
echo ""
|
|
48
|
+
|
|
49
|
+
# Check CLAUDE_HOME exists
|
|
50
|
+
if [ ! -d "$CLAUDE_HOME" ]; then
|
|
51
|
+
echo "ERROR: CLAUDE_HOME does not exist: $CLAUDE_HOME"
|
|
52
|
+
echo " Create it first: mkdir -p \"$CLAUDE_HOME\""
|
|
53
|
+
exit 1
|
|
54
|
+
fi
|
|
55
|
+
|
|
56
|
+
echo "CLAUDE_HOME: $CLAUDE_HOME"
|
|
57
|
+
echo ""
|
|
58
|
+
|
|
59
|
+
# Create skills directory
|
|
60
|
+
SKILLS_DIR="$CLAUDE_HOME/skills/user"
|
|
61
|
+
mkdir -p "$SKILLS_DIR"
|
|
62
|
+
echo "✓ Skills directory: $SKILLS_DIR"
|
|
63
|
+
|
|
64
|
+
# Copy skills — bulk cp is atomic and much harder to kill than a per-file loop.
|
|
65
|
+
# Prior bug: per-file loop under `set -e` aborted after the first file on any
|
|
66
|
+
# cp glitch, leaving the install half-applied. Bulk cp runs once, reports once.
|
|
67
|
+
if [ -d "$REPO_ROOT/skills" ]; then
|
|
68
|
+
SKILL_COUNT=0
|
|
69
|
+
# Read version from package.json
|
|
70
|
+
PKG_VERSION=$(python3 -c "import json; print(json.load(open('$REPO_ROOT/package.json'))['version'])" 2>/dev/null || echo "unknown")
|
|
71
|
+
VERSION_STAMP="<!-- rdc-skills v${PKG_VERSION} -->"
|
|
72
|
+
|
|
73
|
+
# Skills are in subdirectories: skills/<name>/SKILL.md → rdc-<name>.md
|
|
74
|
+
for skill_dir in "$REPO_ROOT"/skills/*/; do
|
|
75
|
+
name=$(basename "$skill_dir")
|
|
76
|
+
src="$skill_dir/SKILL.md"
|
|
77
|
+
dst="$SKILLS_DIR/rdc-${name}.md"
|
|
78
|
+
if [ -f "$src" ]; then
|
|
79
|
+
# Prepend version stamp then file content
|
|
80
|
+
{ echo "$VERSION_STAMP"; cat "$src"; } > "$dst" 2>&1 || echo " (cp warning — failed to copy $name)"
|
|
81
|
+
SKILL_COUNT=$((SKILL_COUNT + 1))
|
|
82
|
+
echo " → rdc-${name}.md [v${PKG_VERSION}]"
|
|
83
|
+
fi
|
|
84
|
+
done
|
|
85
|
+
if [ "$SKILL_COUNT" -gt 0 ]; then
|
|
86
|
+
echo " ✓ Copied $SKILL_COUNT skill(s)"
|
|
87
|
+
INSTALLED=$(ls -1 "$SKILLS_DIR"/rdc-*.md 2>/dev/null | wc -l)
|
|
88
|
+
echo " ✓ Verified: $INSTALLED rdc-*.md file(s) present in $SKILLS_DIR"
|
|
89
|
+
if [ "$INSTALLED" -lt "$SKILL_COUNT" ]; then
|
|
90
|
+
echo " ⚠ WARNING: only $INSTALLED of $SKILL_COUNT installed — run install again or check permissions"
|
|
91
|
+
fi
|
|
92
|
+
else
|
|
93
|
+
echo " (no SKILL.md files found in skills/ subdirectories)"
|
|
94
|
+
fi
|
|
95
|
+
fi
|
|
96
|
+
echo ""
|
|
97
|
+
|
|
98
|
+
# Create hooks directory
|
|
99
|
+
HOOKS_DIR="$CLAUDE_HOME/hooks"
|
|
100
|
+
mkdir -p "$HOOKS_DIR"
|
|
101
|
+
echo "✓ Hooks directory: $HOOKS_DIR"
|
|
102
|
+
|
|
103
|
+
# Copy hooks
|
|
104
|
+
HOOK_COUNT=0
|
|
105
|
+
if ls "$REPO_ROOT"/hooks/*.js >/dev/null 2>&1; then
|
|
106
|
+
cp "$REPO_ROOT"/hooks/*.js "$HOOKS_DIR/" 2>&1 || echo " (cp warning — some hooks may not have copied)"
|
|
107
|
+
chmod +x "$HOOKS_DIR"/*.js 2>/dev/null || true
|
|
108
|
+
HOOK_COUNT=$(ls -1 "$REPO_ROOT"/hooks/*.js 2>/dev/null | wc -l)
|
|
109
|
+
for hook in "$REPO_ROOT"/hooks/*.js; do
|
|
110
|
+
[ -f "$hook" ] && echo " → $(basename "$hook")"
|
|
111
|
+
done
|
|
112
|
+
fi
|
|
113
|
+
if [ "$HOOK_COUNT" -gt 0 ]; then
|
|
114
|
+
echo " ✓ Copied $HOOK_COUNT hook(s)"
|
|
115
|
+
fi
|
|
116
|
+
echo ""
|
|
117
|
+
|
|
118
|
+
echo "Installation Complete"
|
|
119
|
+
echo "====================="
|
|
120
|
+
echo ""
|
|
121
|
+
echo "Next steps:"
|
|
122
|
+
echo "1. Create project-specific guides in your codebase:"
|
|
123
|
+
echo " - docs/guides/agent-bootstrap.md (required — credentials, git rules)"
|
|
124
|
+
echo " - docs/guides/frontend.md (if building UI)"
|
|
125
|
+
echo " - docs/guides/backend.md (if building APIs)"
|
|
126
|
+
echo " - docs/guides/data.md (if doing DB work)"
|
|
127
|
+
echo ""
|
|
128
|
+
echo "2. Use rdc-skills/guides/*.md as starting point templates for your project overlays"
|
|
129
|
+
echo ""
|
|
130
|
+
echo "3. Run /rdc:status in Claude Code to verify setup"
|
|
131
|
+
echo ""
|
|
132
|
+
echo "For help: https://github.com/LIFEAI/rdc-skills#readme"
|