create-universal-ai-context 2.4.0 → 2.6.0-final

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.
Files changed (153) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +331 -294
  3. package/bin/create-ai-context.js +1507 -764
  4. package/lib/adapters/aider.js +131 -131
  5. package/lib/adapters/antigravity.js +205 -205
  6. package/lib/adapters/claude.js +397 -397
  7. package/lib/adapters/cline.js +125 -125
  8. package/lib/adapters/continue.js +138 -138
  9. package/lib/adapters/copilot.js +131 -131
  10. package/lib/adapters/index.js +78 -78
  11. package/lib/adapters/windsurf.js +138 -138
  12. package/lib/ai-context-generator.js +234 -234
  13. package/lib/ai-orchestrator.js +432 -432
  14. package/lib/call-tracer.js +444 -444
  15. package/lib/content-preservation.js +243 -243
  16. package/lib/cross-tool-sync/file-watcher.js +274 -274
  17. package/lib/cross-tool-sync/index.js +41 -40
  18. package/lib/cross-tool-sync/sync-manager.js +540 -512
  19. package/lib/cross-tool-sync/sync-service.js +297 -297
  20. package/lib/detector.js +726 -726
  21. package/lib/doc-discovery.js +741 -741
  22. package/lib/drift-checker.js +920 -920
  23. package/lib/environment-detector.js +239 -239
  24. package/lib/index.js +399 -399
  25. package/lib/install-hooks.js +82 -82
  26. package/lib/installer.js +419 -419
  27. package/lib/migrate.js +328 -328
  28. package/lib/placeholder.js +632 -632
  29. package/lib/prompts.js +341 -341
  30. package/lib/smart-merge.js +540 -540
  31. package/lib/spinner.js +60 -60
  32. package/lib/static-analyzer.js +729 -729
  33. package/lib/template-coordination.js +148 -148
  34. package/lib/template-populator.js +843 -843
  35. package/lib/template-renderer.js +392 -392
  36. package/lib/utils/fs-wrapper.js +79 -79
  37. package/lib/utils/path-utils.js +60 -60
  38. package/lib/validate.js +155 -155
  39. package/package.json +1 -1
  40. package/templates/AI_CONTEXT.md.template +245 -245
  41. package/templates/base/README.md +260 -257
  42. package/templates/base/RPI_WORKFLOW_PLAN.md +325 -320
  43. package/templates/base/agents/api-developer.md +76 -76
  44. package/templates/base/agents/context-engineer.md +525 -525
  45. package/templates/base/agents/core-architect.md +76 -76
  46. package/templates/base/agents/database-ops.md +76 -76
  47. package/templates/base/agents/deployment-ops.md +76 -76
  48. package/templates/base/agents/integration-hub.md +76 -76
  49. package/templates/base/analytics/README.md +114 -114
  50. package/templates/base/automation/config.json +58 -58
  51. package/templates/base/automation/generators/code-mapper.js +308 -308
  52. package/templates/base/automation/generators/index-builder.js +321 -321
  53. package/templates/base/automation/hooks/post-commit.sh +83 -83
  54. package/templates/base/automation/hooks/pre-commit.sh +103 -103
  55. package/templates/base/ci-templates/README.md +108 -108
  56. package/templates/base/ci-templates/github-actions/context-check.yml +144 -144
  57. package/templates/base/ci-templates/github-actions/validate-docs.yml +105 -105
  58. package/templates/base/commands/analytics.md +238 -238
  59. package/templates/base/commands/auto-sync.md +172 -172
  60. package/templates/base/commands/collab.md +194 -194
  61. package/templates/base/commands/context-optimize.md +226 -0
  62. package/templates/base/commands/help.md +485 -450
  63. package/templates/base/commands/rpi-implement.md +164 -115
  64. package/templates/base/commands/rpi-plan.md +147 -93
  65. package/templates/base/commands/rpi-research.md +145 -88
  66. package/templates/base/commands/session-resume.md +144 -144
  67. package/templates/base/commands/session-save.md +112 -112
  68. package/templates/base/commands/validate-all.md +77 -77
  69. package/templates/base/commands/verify-docs-current.md +86 -86
  70. package/templates/base/config/base.json +57 -57
  71. package/templates/base/config/environments/development.json +13 -13
  72. package/templates/base/config/environments/production.json +17 -17
  73. package/templates/base/config/environments/staging.json +13 -13
  74. package/templates/base/config/local.json.example +21 -21
  75. package/templates/base/context/.meta/generated-at.json +18 -18
  76. package/templates/base/context/ARCHITECTURE_SNAPSHOT.md +156 -156
  77. package/templates/base/context/CODE_TO_WORKFLOW_MAP.md +94 -94
  78. package/templates/base/context/FILE_OWNERSHIP.md +57 -57
  79. package/templates/base/context/INTEGRATION_POINTS.md +92 -92
  80. package/templates/base/context/KNOWN_GOTCHAS.md +195 -195
  81. package/templates/base/context/TESTING_MAP.md +95 -95
  82. package/templates/base/context/WORKFLOW_INDEX.md +129 -129
  83. package/templates/base/context/workflows/WORKFLOW_TEMPLATE.md +294 -294
  84. package/templates/base/indexes/agents/CAPABILITY_MATRIX.md +255 -255
  85. package/templates/base/indexes/agents/CATEGORY_INDEX.md +44 -44
  86. package/templates/base/indexes/code/CATEGORY_INDEX.md +38 -38
  87. package/templates/base/indexes/routing/CATEGORY_INDEX.md +39 -39
  88. package/templates/base/indexes/search/CATEGORY_INDEX.md +39 -39
  89. package/templates/base/indexes/workflows/CATEGORY_INDEX.md +38 -38
  90. package/templates/base/knowledge/README.md +98 -98
  91. package/templates/base/knowledge/sessions/README.md +88 -88
  92. package/templates/base/knowledge/sessions/TEMPLATE.md +150 -150
  93. package/templates/base/knowledge/shared/decisions/0001-adopt-context-engineering.md +144 -144
  94. package/templates/base/knowledge/shared/decisions/README.md +49 -49
  95. package/templates/base/knowledge/shared/decisions/TEMPLATE.md +123 -123
  96. package/templates/base/knowledge/shared/patterns/README.md +62 -62
  97. package/templates/base/knowledge/shared/patterns/TEMPLATE.md +120 -120
  98. package/templates/base/plans/PLAN_TEMPLATE.md +316 -250
  99. package/templates/base/research/RESEARCH_TEMPLATE.md +245 -153
  100. package/templates/base/schemas/agent.schema.json +141 -141
  101. package/templates/base/schemas/anchors.schema.json +54 -54
  102. package/templates/base/schemas/automation.schema.json +93 -93
  103. package/templates/base/schemas/command.schema.json +134 -134
  104. package/templates/base/schemas/hashes.schema.json +40 -40
  105. package/templates/base/schemas/manifest.schema.json +117 -117
  106. package/templates/base/schemas/plan.schema.json +136 -136
  107. package/templates/base/schemas/research.schema.json +115 -115
  108. package/templates/base/schemas/roles.schema.json +34 -34
  109. package/templates/base/schemas/session.schema.json +77 -77
  110. package/templates/base/schemas/settings.schema.json +244 -244
  111. package/templates/base/schemas/staleness.schema.json +53 -53
  112. package/templates/base/schemas/team-config.schema.json +42 -42
  113. package/templates/base/schemas/workflow.schema.json +126 -126
  114. package/templates/base/session/checkpoints/.gitkeep +2 -2
  115. package/templates/base/session/current/state.json +20 -20
  116. package/templates/base/session/history/.gitkeep +2 -2
  117. package/templates/base/settings.json +3 -3
  118. package/templates/base/standards/COMPATIBILITY.md +219 -219
  119. package/templates/base/standards/EXTENSION_GUIDELINES.md +280 -280
  120. package/templates/base/standards/QUALITY_CHECKLIST.md +211 -211
  121. package/templates/base/standards/README.md +66 -66
  122. package/templates/base/sync/anchors.json +6 -6
  123. package/templates/base/sync/hashes.json +6 -6
  124. package/templates/base/sync/staleness.json +10 -10
  125. package/templates/base/team/README.md +168 -168
  126. package/templates/base/team/config.json +79 -79
  127. package/templates/base/team/roles.json +145 -145
  128. package/templates/base/tools/bin/claude-context.js +151 -151
  129. package/templates/base/tools/lib/anchor-resolver.js +276 -276
  130. package/templates/base/tools/lib/config-loader.js +363 -363
  131. package/templates/base/tools/lib/detector.js +350 -350
  132. package/templates/base/tools/lib/diagnose.js +206 -206
  133. package/templates/base/tools/lib/drift-detector.js +373 -373
  134. package/templates/base/tools/lib/errors.js +199 -199
  135. package/templates/base/tools/lib/index.js +36 -36
  136. package/templates/base/tools/lib/init.js +192 -192
  137. package/templates/base/tools/lib/logger.js +230 -230
  138. package/templates/base/tools/lib/placeholder.js +201 -201
  139. package/templates/base/tools/lib/session-manager.js +354 -354
  140. package/templates/base/tools/lib/validate.js +521 -521
  141. package/templates/base/tools/package.json +49 -49
  142. package/templates/handlebars/aider-config.hbs +146 -80
  143. package/templates/handlebars/antigravity.hbs +377 -377
  144. package/templates/handlebars/claude.hbs +183 -183
  145. package/templates/handlebars/cline.hbs +62 -62
  146. package/templates/handlebars/continue-config.hbs +116 -116
  147. package/templates/handlebars/copilot.hbs +130 -130
  148. package/templates/handlebars/partials/gotcha-list.hbs +11 -11
  149. package/templates/handlebars/partials/header.hbs +3 -3
  150. package/templates/handlebars/partials/workflow-summary.hbs +16 -16
  151. package/templates/handlebars/windsurf-rules.hbs +69 -69
  152. package/templates/hooks/post-commit.hbs +28 -29
  153. package/templates/hooks/pre-commit.hbs +46 -46
@@ -1,83 +1,83 @@
1
- #!/bin/bash
2
- #
3
- # Claude Context Engineering - Post-Commit Hook
4
- #
5
- # Rebuilds indexes and updates tracking after successful commits.
6
- # Install with: npx claude-context hooks install
7
- #
8
-
9
- # Colors for output
10
- GREEN='\033[0;32m'
11
- YELLOW='\033[1;33m'
12
- NC='\033[0m' # No Color
13
-
14
- # Get the repository root
15
- REPO_ROOT=$(git rev-parse --show-toplevel)
16
- CLAUDE_DIR="$REPO_ROOT/.claude"
17
- CONFIG_FILE="$CLAUDE_DIR/automation/config.json"
18
-
19
- # Check if claude context is set up
20
- if [ ! -d "$CLAUDE_DIR" ]; then
21
- exit 0 # No .claude directory, skip
22
- fi
23
-
24
- # Load config (if jq is available)
25
- REBUILD_CODE_MAP=true
26
- UPDATE_HASHES=true
27
-
28
- if command -v jq &> /dev/null && [ -f "$CONFIG_FILE" ]; then
29
- REBUILD_CODE_MAP=$(jq -r '.hooks.post_commit.rebuild_code_map // true' "$CONFIG_FILE")
30
- UPDATE_HASHES=$(jq -r '.hooks.post_commit.update_hashes // true' "$CONFIG_FILE")
31
- fi
32
-
33
- # Check if npx is available
34
- if ! command -v npx &> /dev/null; then
35
- exit 0
36
- fi
37
-
38
- # Get list of files that were committed
39
- COMMITTED_FILES=$(git diff-tree --no-commit-id --name-only -r HEAD)
40
-
41
- # Check if any code files were committed
42
- CODE_COMMITTED=false
43
- for file in $COMMITTED_FILES; do
44
- case "$file" in
45
- *.py|*.js|*.ts|*.jsx|*.tsx|*.go|*.rs|*.rb|*.java)
46
- CODE_COMMITTED=true
47
- break
48
- ;;
49
- esac
50
- done
51
-
52
- # Skip if no code files
53
- if [ "$CODE_COMMITTED" = false ]; then
54
- exit 0
55
- fi
56
-
57
- echo -e "${GREEN}Claude Context: Post-commit update${NC}"
58
-
59
- # Update file hashes (async, don't block)
60
- if [ "$UPDATE_HASHES" = "true" ]; then
61
- # Update hashes for committed files
62
- for file in $COMMITTED_FILES; do
63
- if [ -f "$file" ]; then
64
- HASH=$(git hash-object "$file" 2>/dev/null)
65
- if [ -n "$HASH" ]; then
66
- # Write to hashes file (simple append for now)
67
- echo " Updated hash: $file"
68
- fi
69
- fi
70
- done
71
- fi
72
-
73
- # Rebuild code map (optional, can be slow)
74
- if [ "$REBUILD_CODE_MAP" = "true" ]; then
75
- if [ -f "$CLAUDE_DIR/automation/generators/code-mapper.js" ]; then
76
- # Run in background to not slow down commits
77
- (node "$CLAUDE_DIR/automation/generators/code-mapper.js" --quiet &> /dev/null &)
78
- echo -e " ${YELLOW}Code map rebuild queued (background)${NC}"
79
- fi
80
- fi
81
-
82
- echo -e "${GREEN}Post-commit update complete.${NC}"
83
- exit 0
1
+ #!/bin/bash
2
+ #
3
+ # Claude Context Engineering - Post-Commit Hook
4
+ #
5
+ # Rebuilds indexes and updates tracking after successful commits.
6
+ # Install with: npx claude-context hooks install
7
+ #
8
+
9
+ # Colors for output
10
+ GREEN='\033[0;32m'
11
+ YELLOW='\033[1;33m'
12
+ NC='\033[0m' # No Color
13
+
14
+ # Get the repository root
15
+ REPO_ROOT=$(git rev-parse --show-toplevel)
16
+ CLAUDE_DIR="$REPO_ROOT/.claude"
17
+ CONFIG_FILE="$CLAUDE_DIR/automation/config.json"
18
+
19
+ # Check if claude context is set up
20
+ if [ ! -d "$CLAUDE_DIR" ]; then
21
+ exit 0 # No .claude directory, skip
22
+ fi
23
+
24
+ # Load config (if jq is available)
25
+ REBUILD_CODE_MAP=true
26
+ UPDATE_HASHES=true
27
+
28
+ if command -v jq &> /dev/null && [ -f "$CONFIG_FILE" ]; then
29
+ REBUILD_CODE_MAP=$(jq -r '.hooks.post_commit.rebuild_code_map // true' "$CONFIG_FILE")
30
+ UPDATE_HASHES=$(jq -r '.hooks.post_commit.update_hashes // true' "$CONFIG_FILE")
31
+ fi
32
+
33
+ # Check if npx is available
34
+ if ! command -v npx &> /dev/null; then
35
+ exit 0
36
+ fi
37
+
38
+ # Get list of files that were committed
39
+ COMMITTED_FILES=$(git diff-tree --no-commit-id --name-only -r HEAD)
40
+
41
+ # Check if any code files were committed
42
+ CODE_COMMITTED=false
43
+ for file in $COMMITTED_FILES; do
44
+ case "$file" in
45
+ *.py|*.js|*.ts|*.jsx|*.tsx|*.go|*.rs|*.rb|*.java)
46
+ CODE_COMMITTED=true
47
+ break
48
+ ;;
49
+ esac
50
+ done
51
+
52
+ # Skip if no code files
53
+ if [ "$CODE_COMMITTED" = false ]; then
54
+ exit 0
55
+ fi
56
+
57
+ echo -e "${GREEN}Claude Context: Post-commit update${NC}"
58
+
59
+ # Update file hashes (async, don't block)
60
+ if [ "$UPDATE_HASHES" = "true" ]; then
61
+ # Update hashes for committed files
62
+ for file in $COMMITTED_FILES; do
63
+ if [ -f "$file" ]; then
64
+ HASH=$(git hash-object "$file" 2>/dev/null)
65
+ if [ -n "$HASH" ]; then
66
+ # Write to hashes file (simple append for now)
67
+ echo " Updated hash: $file"
68
+ fi
69
+ fi
70
+ done
71
+ fi
72
+
73
+ # Rebuild code map (optional, can be slow)
74
+ if [ "$REBUILD_CODE_MAP" = "true" ]; then
75
+ if [ -f "$CLAUDE_DIR/automation/generators/code-mapper.js" ]; then
76
+ # Run in background to not slow down commits
77
+ (node "$CLAUDE_DIR/automation/generators/code-mapper.js" --quiet &> /dev/null &)
78
+ echo -e " ${YELLOW}Code map rebuild queued (background)${NC}"
79
+ fi
80
+ fi
81
+
82
+ echo -e "${GREEN}Post-commit update complete.${NC}"
83
+ exit 0
@@ -1,103 +1,103 @@
1
- #!/bin/bash
2
- #
3
- # Claude Context Engineering - Pre-Commit Hook
4
- #
5
- # Validates documentation synchronization before allowing commits.
6
- # Install with: npx claude-context hooks install
7
- #
8
-
9
- # Colors for output
10
- RED='\033[0;31m'
11
- YELLOW='\033[1;33m'
12
- GREEN='\033[0;32m'
13
- NC='\033[0m' # No Color
14
-
15
- # Get the repository root
16
- REPO_ROOT=$(git rev-parse --show-toplevel)
17
- CLAUDE_DIR="$REPO_ROOT/.claude"
18
- CONFIG_FILE="$CLAUDE_DIR/automation/config.json"
19
-
20
- # Check if claude context is set up
21
- if [ ! -d "$CLAUDE_DIR" ]; then
22
- exit 0 # No .claude directory, skip checks
23
- fi
24
-
25
- # Load config (if jq is available)
26
- BLOCK_ON_STALE=false
27
- CHECK_DRIFT=true
28
-
29
- if command -v jq &> /dev/null && [ -f "$CONFIG_FILE" ]; then
30
- BLOCK_ON_STALE=$(jq -r '.hooks.pre_commit.block_on_stale // false' "$CONFIG_FILE")
31
- CHECK_DRIFT=$(jq -r '.hooks.pre_commit.check_drift // true' "$CONFIG_FILE")
32
- fi
33
-
34
- # Skip if drift check is disabled
35
- if [ "$CHECK_DRIFT" != "true" ]; then
36
- exit 0
37
- fi
38
-
39
- echo -e "${GREEN}Claude Context: Pre-commit validation${NC}"
40
-
41
- # Get list of staged files
42
- STAGED_FILES=$(git diff --cached --name-only --diff-filter=ACMR)
43
-
44
- # Check if any code files are being committed
45
- CODE_FILES=""
46
- for file in $STAGED_FILES; do
47
- case "$file" in
48
- *.py|*.js|*.ts|*.jsx|*.tsx|*.go|*.rs|*.rb|*.java)
49
- CODE_FILES="$CODE_FILES $file"
50
- ;;
51
- esac
52
- done
53
-
54
- # If no code files, skip checks
55
- if [ -z "$CODE_FILES" ]; then
56
- echo -e "${GREEN}No code files in commit, skipping drift check.${NC}"
57
- exit 0
58
- fi
59
-
60
- # Check if npx is available
61
- if ! command -v npx &> /dev/null; then
62
- echo -e "${YELLOW}Warning: npx not found, skipping documentation drift check.${NC}"
63
- exit 0
64
- fi
65
-
66
- # Run drift check
67
- DRIFT_FOUND=false
68
- DRIFT_OUTPUT=""
69
-
70
- for file in $CODE_FILES; do
71
- # Check if this file is referenced in any workflow
72
- if grep -r "$file" "$CLAUDE_DIR/context/workflows" &> /dev/null; then
73
- echo -e " Checking: $file"
74
-
75
- # Simple hash-based check
76
- CURRENT_HASH=$(git hash-object "$file" 2>/dev/null)
77
- STAGED_HASH=$(git ls-files -s "$file" 2>/dev/null | awk '{print $2}')
78
-
79
- if [ -n "$STAGED_HASH" ]; then
80
- DRIFT_OUTPUT="$DRIFT_OUTPUT\n - $file (modified, may affect documentation)"
81
- DRIFT_FOUND=true
82
- fi
83
- fi
84
- done
85
-
86
- # Report findings
87
- if [ "$DRIFT_FOUND" = true ]; then
88
- echo -e "${YELLOW}Documentation may need updating:${NC}"
89
- echo -e "$DRIFT_OUTPUT"
90
- echo ""
91
-
92
- if [ "$BLOCK_ON_STALE" = true ]; then
93
- echo -e "${RED}Commit blocked: Documentation drift detected.${NC}"
94
- echo -e "Run ${GREEN}/verify-docs-current${NC} or ${GREEN}npx claude-context sync --check${NC}"
95
- echo -e "To skip this check: git commit --no-verify"
96
- exit 1
97
- else
98
- echo -e "${YELLOW}Warning: Consider running /verify-docs-current to check documentation.${NC}"
99
- fi
100
- fi
101
-
102
- echo -e "${GREEN}Pre-commit check complete.${NC}"
103
- exit 0
1
+ #!/bin/bash
2
+ #
3
+ # Claude Context Engineering - Pre-Commit Hook
4
+ #
5
+ # Validates documentation synchronization before allowing commits.
6
+ # Install with: npx claude-context hooks install
7
+ #
8
+
9
+ # Colors for output
10
+ RED='\033[0;31m'
11
+ YELLOW='\033[1;33m'
12
+ GREEN='\033[0;32m'
13
+ NC='\033[0m' # No Color
14
+
15
+ # Get the repository root
16
+ REPO_ROOT=$(git rev-parse --show-toplevel)
17
+ CLAUDE_DIR="$REPO_ROOT/.claude"
18
+ CONFIG_FILE="$CLAUDE_DIR/automation/config.json"
19
+
20
+ # Check if claude context is set up
21
+ if [ ! -d "$CLAUDE_DIR" ]; then
22
+ exit 0 # No .claude directory, skip checks
23
+ fi
24
+
25
+ # Load config (if jq is available)
26
+ BLOCK_ON_STALE=false
27
+ CHECK_DRIFT=true
28
+
29
+ if command -v jq &> /dev/null && [ -f "$CONFIG_FILE" ]; then
30
+ BLOCK_ON_STALE=$(jq -r '.hooks.pre_commit.block_on_stale // false' "$CONFIG_FILE")
31
+ CHECK_DRIFT=$(jq -r '.hooks.pre_commit.check_drift // true' "$CONFIG_FILE")
32
+ fi
33
+
34
+ # Skip if drift check is disabled
35
+ if [ "$CHECK_DRIFT" != "true" ]; then
36
+ exit 0
37
+ fi
38
+
39
+ echo -e "${GREEN}Claude Context: Pre-commit validation${NC}"
40
+
41
+ # Get list of staged files
42
+ STAGED_FILES=$(git diff --cached --name-only --diff-filter=ACMR)
43
+
44
+ # Check if any code files are being committed
45
+ CODE_FILES=""
46
+ for file in $STAGED_FILES; do
47
+ case "$file" in
48
+ *.py|*.js|*.ts|*.jsx|*.tsx|*.go|*.rs|*.rb|*.java)
49
+ CODE_FILES="$CODE_FILES $file"
50
+ ;;
51
+ esac
52
+ done
53
+
54
+ # If no code files, skip checks
55
+ if [ -z "$CODE_FILES" ]; then
56
+ echo -e "${GREEN}No code files in commit, skipping drift check.${NC}"
57
+ exit 0
58
+ fi
59
+
60
+ # Check if npx is available
61
+ if ! command -v npx &> /dev/null; then
62
+ echo -e "${YELLOW}Warning: npx not found, skipping documentation drift check.${NC}"
63
+ exit 0
64
+ fi
65
+
66
+ # Run drift check
67
+ DRIFT_FOUND=false
68
+ DRIFT_OUTPUT=""
69
+
70
+ for file in $CODE_FILES; do
71
+ # Check if this file is referenced in any workflow
72
+ if grep -r "$file" "$CLAUDE_DIR/context/workflows" &> /dev/null; then
73
+ echo -e " Checking: $file"
74
+
75
+ # Simple hash-based check
76
+ CURRENT_HASH=$(git hash-object "$file" 2>/dev/null)
77
+ STAGED_HASH=$(git ls-files -s "$file" 2>/dev/null | awk '{print $2}')
78
+
79
+ if [ -n "$STAGED_HASH" ]; then
80
+ DRIFT_OUTPUT="$DRIFT_OUTPUT\n - $file (modified, may affect documentation)"
81
+ DRIFT_FOUND=true
82
+ fi
83
+ fi
84
+ done
85
+
86
+ # Report findings
87
+ if [ "$DRIFT_FOUND" = true ]; then
88
+ echo -e "${YELLOW}Documentation may need updating:${NC}"
89
+ echo -e "$DRIFT_OUTPUT"
90
+ echo ""
91
+
92
+ if [ "$BLOCK_ON_STALE" = true ]; then
93
+ echo -e "${RED}Commit blocked: Documentation drift detected.${NC}"
94
+ echo -e "Run ${GREEN}/verify-docs-current${NC} or ${GREEN}npx claude-context sync --check${NC}"
95
+ echo -e "To skip this check: git commit --no-verify"
96
+ exit 1
97
+ else
98
+ echo -e "${YELLOW}Warning: Consider running /verify-docs-current to check documentation.${NC}"
99
+ fi
100
+ fi
101
+
102
+ echo -e "${GREEN}Pre-commit check complete.${NC}"
103
+ exit 0
@@ -1,108 +1,108 @@
1
- # CI/CD Templates
2
-
3
- Pre-built CI/CD workflows for Claude Context Engineering validation.
4
-
5
- ## Available Templates
6
-
7
- ### GitHub Actions
8
-
9
- | Template | Purpose | Trigger |
10
- |----------|---------|---------|
11
- | `validate-docs.yml` | Validate documentation on PRs | Pull requests |
12
- | `context-check.yml` | Monitor context budget health | Push, weekly, manual |
13
-
14
- ## Installation
15
-
16
- ### GitHub Actions
17
-
18
- Copy templates to your `.github/workflows/` directory:
19
-
20
- ```bash
21
- # From project root
22
- mkdir -p .github/workflows
23
- cp .ai-context/ci-templates/github-actions/*.yml .github/workflows/
24
- ```
25
-
26
- ### Prerequisites
27
-
28
- 1. Node.js 18+ available in CI environment
29
- 2. `.ai-context/tools/` dependencies installed:
30
- ```bash
31
- cd .ai-context/tools && npm ci
32
- ```
33
-
34
- ## Customization
35
-
36
- ### Adjust Validation Strictness
37
-
38
- Edit the workflow files to change thresholds:
39
-
40
- ```yaml
41
- # In validate-docs.yml
42
- - name: Check Line Number Accuracy
43
- run: |
44
- npx claude-context validate --lines --threshold 70 # Stricter
45
- ```
46
-
47
- ### Add Notifications
48
-
49
- Add Slack/Discord notifications on failure:
50
-
51
- ```yaml
52
- - name: Notify on Failure
53
- if: failure()
54
- uses: 8398a7/action-slack@v3
55
- with:
56
- status: ${{ job.status }}
57
- webhook_url: ${{ secrets.SLACK_WEBHOOK }}
58
- ```
59
-
60
- ### Skip on Specific Files
61
-
62
- Modify the `paths` filter:
63
-
64
- ```yaml
65
- on:
66
- pull_request:
67
- paths:
68
- - '.ai-context/**'
69
- - 'src/**'
70
- - '!src/**/*.test.js' # Exclude test files
71
- ```
72
-
73
- ## Workflow Outputs
74
-
75
- ### validate-docs.yml
76
-
77
- - **validation-report.md** - Detailed validation results
78
- - PR comment on failure with specific issues
79
-
80
- ### context-check.yml
81
-
82
- - **metrics.json** - Documentation metrics
83
- - **diagnostics.txt** - System diagnostics
84
- - **validation.txt** - Full validation output
85
- - Auto-creates issue on weekly failure
86
-
87
- ## Troubleshooting
88
-
89
- ### "CLI tools not found"
90
-
91
- Ensure tools are installed:
92
- ```bash
93
- cd .ai-context/tools && npm ci
94
- ```
95
-
96
- ### "Validation always fails on line numbers"
97
-
98
- Line number drift is expected. Adjust threshold:
99
- ```yaml
100
- --threshold 50 # More lenient
101
- ```
102
-
103
- ### "Context budget exceeded"
104
-
105
- Review documentation and consider:
106
- 1. Splitting large workflow files
107
- 2. Moving rarely-used content to separate files
108
- 3. Compacting verbose sections
1
+ # CI/CD Templates
2
+
3
+ Pre-built CI/CD workflows for Claude Context Engineering validation.
4
+
5
+ ## Available Templates
6
+
7
+ ### GitHub Actions
8
+
9
+ | Template | Purpose | Trigger |
10
+ |----------|---------|---------|
11
+ | `validate-docs.yml` | Validate documentation on PRs | Pull requests |
12
+ | `context-check.yml` | Monitor context budget health | Push, weekly, manual |
13
+
14
+ ## Installation
15
+
16
+ ### GitHub Actions
17
+
18
+ Copy templates to your `.github/workflows/` directory:
19
+
20
+ ```bash
21
+ # From project root
22
+ mkdir -p .github/workflows
23
+ cp .ai-context/ci-templates/github-actions/*.yml .github/workflows/
24
+ ```
25
+
26
+ ### Prerequisites
27
+
28
+ 1. Node.js 18+ available in CI environment
29
+ 2. `.ai-context/tools/` dependencies installed:
30
+ ```bash
31
+ cd .ai-context/tools && npm ci
32
+ ```
33
+
34
+ ## Customization
35
+
36
+ ### Adjust Validation Strictness
37
+
38
+ Edit the workflow files to change thresholds:
39
+
40
+ ```yaml
41
+ # In validate-docs.yml
42
+ - name: Check Line Number Accuracy
43
+ run: |
44
+ npx claude-context validate --lines --threshold 70 # Stricter
45
+ ```
46
+
47
+ ### Add Notifications
48
+
49
+ Add Slack/Discord notifications on failure:
50
+
51
+ ```yaml
52
+ - name: Notify on Failure
53
+ if: failure()
54
+ uses: 8398a7/action-slack@v3
55
+ with:
56
+ status: ${{ job.status }}
57
+ webhook_url: ${{ secrets.SLACK_WEBHOOK }}
58
+ ```
59
+
60
+ ### Skip on Specific Files
61
+
62
+ Modify the `paths` filter:
63
+
64
+ ```yaml
65
+ on:
66
+ pull_request:
67
+ paths:
68
+ - '.ai-context/**'
69
+ - 'src/**'
70
+ - '!src/**/*.test.js' # Exclude test files
71
+ ```
72
+
73
+ ## Workflow Outputs
74
+
75
+ ### validate-docs.yml
76
+
77
+ - **validation-report.md** - Detailed validation results
78
+ - PR comment on failure with specific issues
79
+
80
+ ### context-check.yml
81
+
82
+ - **metrics.json** - Documentation metrics
83
+ - **diagnostics.txt** - System diagnostics
84
+ - **validation.txt** - Full validation output
85
+ - Auto-creates issue on weekly failure
86
+
87
+ ## Troubleshooting
88
+
89
+ ### "CLI tools not found"
90
+
91
+ Ensure tools are installed:
92
+ ```bash
93
+ cd .ai-context/tools && npm ci
94
+ ```
95
+
96
+ ### "Validation always fails on line numbers"
97
+
98
+ Line number drift is expected. Adjust threshold:
99
+ ```yaml
100
+ --threshold 50 # More lenient
101
+ ```
102
+
103
+ ### "Context budget exceeded"
104
+
105
+ Review documentation and consider:
106
+ 1. Splitting large workflow files
107
+ 2. Moving rarely-used content to separate files
108
+ 3. Compacting verbose sections