create-claude-context 1.0.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/LICENSE +21 -0
- package/README.md +146 -0
- package/bin/create-claude-context.js +61 -0
- package/lib/detector.js +373 -0
- package/lib/index.js +170 -0
- package/lib/installer.js +362 -0
- package/lib/placeholder.js +208 -0
- package/lib/prompts.js +287 -0
- package/lib/spinner.js +60 -0
- package/lib/validate.js +147 -0
- package/package.json +59 -0
- package/templates/CLAUDE.md.template +235 -0
- package/templates/base/README.md +257 -0
- package/templates/base/RPI_WORKFLOW_PLAN.md +320 -0
- package/templates/base/agents/api-developer.md +76 -0
- package/templates/base/agents/context-engineer.md +525 -0
- package/templates/base/agents/core-architect.md +76 -0
- package/templates/base/agents/database-ops.md +76 -0
- package/templates/base/agents/deployment-ops.md +76 -0
- package/templates/base/agents/integration-hub.md +76 -0
- package/templates/base/analytics/README.md +114 -0
- package/templates/base/ci-templates/README.md +108 -0
- package/templates/base/ci-templates/github-actions/context-check.yml +144 -0
- package/templates/base/ci-templates/github-actions/validate-docs.yml +105 -0
- package/templates/base/commands/analytics.md +238 -0
- package/templates/base/commands/collab.md +194 -0
- package/templates/base/commands/help.md +450 -0
- package/templates/base/commands/rpi-implement.md +115 -0
- package/templates/base/commands/rpi-plan.md +93 -0
- package/templates/base/commands/rpi-research.md +88 -0
- package/templates/base/commands/validate-all.md +77 -0
- package/templates/base/commands/verify-docs-current.md +86 -0
- package/templates/base/config/base.json +57 -0
- package/templates/base/config/environments/development.json +13 -0
- package/templates/base/config/environments/production.json +17 -0
- package/templates/base/config/environments/staging.json +13 -0
- package/templates/base/config/local.json.example +21 -0
- package/templates/base/context/ARCHITECTURE_SNAPSHOT.md +156 -0
- package/templates/base/context/CODE_TO_WORKFLOW_MAP.md +94 -0
- package/templates/base/context/KNOWN_GOTCHAS.md +195 -0
- package/templates/base/context/WORKFLOW_INDEX.md +129 -0
- package/templates/base/context/workflows/WORKFLOW_TEMPLATE.md +294 -0
- package/templates/base/indexes/agents/CAPABILITY_MATRIX.md +255 -0
- package/templates/base/indexes/agents/CATEGORY_INDEX.md +44 -0
- package/templates/base/indexes/code/CATEGORY_INDEX.md +38 -0
- package/templates/base/indexes/routing/CATEGORY_INDEX.md +39 -0
- package/templates/base/indexes/search/CATEGORY_INDEX.md +39 -0
- package/templates/base/indexes/workflows/CATEGORY_INDEX.md +38 -0
- package/templates/base/knowledge/README.md +98 -0
- package/templates/base/knowledge/sessions/README.md +88 -0
- package/templates/base/knowledge/sessions/TEMPLATE.md +150 -0
- package/templates/base/knowledge/shared/decisions/0001-adopt-context-engineering.md +144 -0
- package/templates/base/knowledge/shared/decisions/README.md +49 -0
- package/templates/base/knowledge/shared/decisions/TEMPLATE.md +123 -0
- package/templates/base/knowledge/shared/patterns/README.md +62 -0
- package/templates/base/knowledge/shared/patterns/TEMPLATE.md +120 -0
- package/templates/base/plans/PLAN_TEMPLATE.md +250 -0
- package/templates/base/plans/active/.gitkeep +0 -0
- package/templates/base/plans/completed/.gitkeep +0 -0
- package/templates/base/research/RESEARCH_TEMPLATE.md +153 -0
- package/templates/base/research/active/.gitkeep +0 -0
- package/templates/base/research/completed/.gitkeep +0 -0
- package/templates/base/schemas/agent.schema.json +141 -0
- package/templates/base/schemas/command.schema.json +134 -0
- package/templates/base/schemas/manifest.schema.json +117 -0
- package/templates/base/schemas/plan.schema.json +136 -0
- package/templates/base/schemas/research.schema.json +115 -0
- package/templates/base/schemas/settings.schema.json +244 -0
- package/templates/base/schemas/workflow.schema.json +126 -0
- package/templates/base/settings.json +57 -0
- package/templates/base/standards/COMPATIBILITY.md +219 -0
- package/templates/base/standards/EXTENSION_GUIDELINES.md +280 -0
- package/templates/base/standards/QUALITY_CHECKLIST.md +211 -0
- package/templates/base/standards/README.md +66 -0
- package/templates/base/team/README.md +168 -0
- package/templates/base/team/config.json +79 -0
- package/templates/base/team/roles.json +145 -0
- package/templates/base/tools/bin/claude-context.js +151 -0
- package/templates/base/tools/lib/config-loader.js +363 -0
- package/templates/base/tools/lib/detector.js +350 -0
- package/templates/base/tools/lib/diagnose.js +206 -0
- package/templates/base/tools/lib/errors.js +199 -0
- package/templates/base/tools/lib/index.js +24 -0
- package/templates/base/tools/lib/init.js +192 -0
- package/templates/base/tools/lib/logger.js +230 -0
- package/templates/base/tools/lib/placeholder.js +201 -0
- package/templates/base/tools/lib/validate.js +521 -0
- package/templates/base/tools/package.json +49 -0
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: deployment-ops
|
|
3
|
+
version: "1.0.0"
|
|
4
|
+
displayName: "Deployment Operations"
|
|
5
|
+
description: "CI/CD pipeline management, infrastructure as code, and deployment automation specialist"
|
|
6
|
+
category: "deployment"
|
|
7
|
+
complexity: "high"
|
|
8
|
+
context_budget: "~45K tokens"
|
|
9
|
+
capabilities:
|
|
10
|
+
- "ci-cd-pipeline-design"
|
|
11
|
+
- "infrastructure-as-code"
|
|
12
|
+
- "deployment-strategies"
|
|
13
|
+
- "environment-management"
|
|
14
|
+
- "monitoring-and-rollback"
|
|
15
|
+
workflows:
|
|
16
|
+
- "deployment"
|
|
17
|
+
- "infrastructure"
|
|
18
|
+
- "ci-cd"
|
|
19
|
+
commands: ["/rpi-research", "/rpi-plan", "/rpi-implement", "/validate-all"]
|
|
20
|
+
dependencies:
|
|
21
|
+
agents: []
|
|
22
|
+
commands: []
|
|
23
|
+
hooks:
|
|
24
|
+
pre_invoke: null
|
|
25
|
+
post_invoke: "verify-docs-current"
|
|
26
|
+
examples:
|
|
27
|
+
- invocation: '@deployment-ops "Document deployment pipeline"'
|
|
28
|
+
description: "Create CI/CD documentation"
|
|
29
|
+
- invocation: '@deployment-ops "Review infrastructure configuration"'
|
|
30
|
+
description: "Audit IaC files and configurations"
|
|
31
|
+
- invocation: '@deployment-ops "Plan rollback strategy"'
|
|
32
|
+
description: "Design safe rollback procedures"
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
# Deployment Ops Agent
|
|
36
|
+
|
|
37
|
+
**Purpose:** CI/CD pipeline management, infrastructure as code, and deployment automation
|
|
38
|
+
|
|
39
|
+
## Capabilities
|
|
40
|
+
|
|
41
|
+
This agent specializes in:
|
|
42
|
+
- **Pipeline design and optimization** - Creating and optimizing CI/CD pipelines
|
|
43
|
+
- **Infrastructure as code** - Managing cloud infrastructure with Terraform, CloudFormation, etc.
|
|
44
|
+
- **Deployment strategies** - Implementing blue-green, canary, rolling deployments
|
|
45
|
+
- **Environment management** - Managing development, staging, and production environments
|
|
46
|
+
- **Monitoring and rollback** - Implementing monitoring and automatic rollback strategies
|
|
47
|
+
|
|
48
|
+
## Usage
|
|
49
|
+
|
|
50
|
+
After template initialization, this agent will be generated based on your deployment requirements. It will:
|
|
51
|
+
1. Analyze your existing deployment pipelines
|
|
52
|
+
2. Create comprehensive deployment documentation
|
|
53
|
+
3. Identify potential reliability issues
|
|
54
|
+
4. Provide recommendations for deployment optimization
|
|
55
|
+
|
|
56
|
+
## Example Commands
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
@deployment-ops "Document deployment pipeline for [environment]"
|
|
60
|
+
@deployment-ops "Validate infrastructure as code for [service]"
|
|
61
|
+
@deployment-ops "Generate rollback strategy for [deployment]"
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Integration Points
|
|
65
|
+
|
|
66
|
+
This agent integrates with:
|
|
67
|
+
- Workflow documentation
|
|
68
|
+
- API design (for deployment endpoints)
|
|
69
|
+
- Monitoring and alerting
|
|
70
|
+
- Security validation
|
|
71
|
+
|
|
72
|
+
## Validation
|
|
73
|
+
|
|
74
|
+
- Pipeline reliability checks
|
|
75
|
+
- Infrastructure consistency validation
|
|
76
|
+
- Deployment strategy verification
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: integration-hub
|
|
3
|
+
version: "1.0.0"
|
|
4
|
+
displayName: "Integration Hub"
|
|
5
|
+
description: "External service integration, third-party API management, and webhook handling specialist"
|
|
6
|
+
category: "integration"
|
|
7
|
+
complexity: "medium-high"
|
|
8
|
+
context_budget: "~40K tokens"
|
|
9
|
+
capabilities:
|
|
10
|
+
- "third-party-api-integration"
|
|
11
|
+
- "webhook-handling"
|
|
12
|
+
- "authentication-management"
|
|
13
|
+
- "rate-limiting-implementation"
|
|
14
|
+
- "error-handling-patterns"
|
|
15
|
+
workflows:
|
|
16
|
+
- "external-services"
|
|
17
|
+
- "webhooks"
|
|
18
|
+
- "integrations"
|
|
19
|
+
commands: ["/rpi-research", "/rpi-plan", "/rpi-implement"]
|
|
20
|
+
dependencies:
|
|
21
|
+
agents: []
|
|
22
|
+
commands: []
|
|
23
|
+
hooks:
|
|
24
|
+
pre_invoke: null
|
|
25
|
+
post_invoke: "verify-docs-current"
|
|
26
|
+
examples:
|
|
27
|
+
- invocation: '@integration-hub "Document integration with [service]"'
|
|
28
|
+
description: "Create integration documentation"
|
|
29
|
+
- invocation: '@integration-hub "Analyze webhook endpoints"'
|
|
30
|
+
description: "Review webhook security and reliability"
|
|
31
|
+
- invocation: '@integration-hub "Review authentication flows"'
|
|
32
|
+
description: "Audit third-party auth mechanisms"
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
# Integration Hub Agent
|
|
36
|
+
|
|
37
|
+
**Purpose:** External service integration, third-party API management, and webhook handling
|
|
38
|
+
|
|
39
|
+
## Capabilities
|
|
40
|
+
|
|
41
|
+
This agent specializes in:
|
|
42
|
+
- **Third-party API integration** - Connecting with external services and APIs
|
|
43
|
+
- **Webhook handling** - Managing incoming and outgoing webhooks
|
|
44
|
+
- **Authentication management** - Handling API keys, OAuth, and other auth mechanisms
|
|
45
|
+
- **Rate limiting and retries** - Implementing robust integration patterns
|
|
46
|
+
- **Error handling** - Managing integration failures and retries
|
|
47
|
+
|
|
48
|
+
## Usage
|
|
49
|
+
|
|
50
|
+
After template initialization, this agent will be generated based on your integration requirements. It will:
|
|
51
|
+
1. Analyze your existing external integrations
|
|
52
|
+
2. Create comprehensive integration documentation
|
|
53
|
+
3. Identify potential security vulnerabilities
|
|
54
|
+
4. Provide recommendations for integration optimization
|
|
55
|
+
|
|
56
|
+
## Example Commands
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
@integration-hub "Document integration with [service]"
|
|
60
|
+
@integration-hub "Validate webhook endpoints for [integration]"
|
|
61
|
+
@integration-hub "Generate authentication strategy for [service]"
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Integration Points
|
|
65
|
+
|
|
66
|
+
This agent integrates with:
|
|
67
|
+
- Workflow documentation
|
|
68
|
+
- API design (for integration endpoints)
|
|
69
|
+
- Testing strategies
|
|
70
|
+
- Monitoring and alerting
|
|
71
|
+
|
|
72
|
+
## Validation
|
|
73
|
+
|
|
74
|
+
- Integration security checks
|
|
75
|
+
- Authentication mechanism validation
|
|
76
|
+
- Rate limiting configuration
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# Analytics Data
|
|
2
|
+
|
|
3
|
+
Local storage for usage analytics and metrics.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
This directory stores local analytics data collected during Claude Code sessions. All data is stored locally and never sent externally unless explicitly configured.
|
|
8
|
+
|
|
9
|
+
## Files
|
|
10
|
+
|
|
11
|
+
| File | Description |
|
|
12
|
+
|------|-------------|
|
|
13
|
+
| `sessions.json` | Session history and metadata |
|
|
14
|
+
| `commands.json` | Command usage statistics |
|
|
15
|
+
| `agents.json` | Agent invocation tracking |
|
|
16
|
+
| `context.json` | Context budget metrics over time |
|
|
17
|
+
| `exports/` | Exported analytics files |
|
|
18
|
+
|
|
19
|
+
## Data Schema
|
|
20
|
+
|
|
21
|
+
### sessions.json
|
|
22
|
+
|
|
23
|
+
```json
|
|
24
|
+
{
|
|
25
|
+
"sessions": [
|
|
26
|
+
{
|
|
27
|
+
"id": "uuid",
|
|
28
|
+
"started": "ISO-timestamp",
|
|
29
|
+
"ended": "ISO-timestamp",
|
|
30
|
+
"duration_minutes": 45,
|
|
31
|
+
"files_modified": 12,
|
|
32
|
+
"commits": 3,
|
|
33
|
+
"member_id": "dev-1"
|
|
34
|
+
}
|
|
35
|
+
]
|
|
36
|
+
}
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### commands.json
|
|
40
|
+
|
|
41
|
+
```json
|
|
42
|
+
{
|
|
43
|
+
"commands": {
|
|
44
|
+
"/rpi-research": {
|
|
45
|
+
"count": 23,
|
|
46
|
+
"last_used": "ISO-timestamp",
|
|
47
|
+
"success_rate": 0.95,
|
|
48
|
+
"history": [
|
|
49
|
+
{
|
|
50
|
+
"timestamp": "ISO-timestamp",
|
|
51
|
+
"duration_seconds": 120,
|
|
52
|
+
"success": true
|
|
53
|
+
}
|
|
54
|
+
]
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### agents.json
|
|
61
|
+
|
|
62
|
+
```json
|
|
63
|
+
{
|
|
64
|
+
"agents": {
|
|
65
|
+
"@core-architect": {
|
|
66
|
+
"invocations": 18,
|
|
67
|
+
"last_used": "ISO-timestamp",
|
|
68
|
+
"avg_context_tokens": 35000,
|
|
69
|
+
"tasks_completed": 15
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### context.json
|
|
76
|
+
|
|
77
|
+
```json
|
|
78
|
+
{
|
|
79
|
+
"snapshots": [
|
|
80
|
+
{
|
|
81
|
+
"timestamp": "ISO-timestamp",
|
|
82
|
+
"total_tokens": 45000,
|
|
83
|
+
"breakdown": {
|
|
84
|
+
"indexes": 12400,
|
|
85
|
+
"workflows": 18200,
|
|
86
|
+
"agents": 8600,
|
|
87
|
+
"commands": 5800
|
|
88
|
+
},
|
|
89
|
+
"budget_percentage": 22.5
|
|
90
|
+
}
|
|
91
|
+
]
|
|
92
|
+
}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## Retention
|
|
96
|
+
|
|
97
|
+
Data is retained according to `telemetry.retention_days` in settings (default: 90 days). Older data is automatically pruned.
|
|
98
|
+
|
|
99
|
+
## Clearing Data
|
|
100
|
+
|
|
101
|
+
To clear all analytics data:
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
/analytics clear
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Or manually delete files in this directory (except README.md).
|
|
108
|
+
|
|
109
|
+
## Privacy
|
|
110
|
+
|
|
111
|
+
- All data stored locally
|
|
112
|
+
- No external transmission
|
|
113
|
+
- User has full control
|
|
114
|
+
- Can be disabled in settings
|
|
@@ -0,0 +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 .claude/ci-templates/github-actions/*.yml .github/workflows/
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### Prerequisites
|
|
27
|
+
|
|
28
|
+
1. Node.js 18+ available in CI environment
|
|
29
|
+
2. `.claude/tools/` dependencies installed:
|
|
30
|
+
```bash
|
|
31
|
+
cd .claude/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
|
+
- '.claude/**'
|
|
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 .claude/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
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
# Claude Context Engineering - Context Budget Check
|
|
2
|
+
#
|
|
3
|
+
# This workflow monitors context budget and documentation health.
|
|
4
|
+
# Copy this file to .github/workflows/context-check.yml to enable.
|
|
5
|
+
#
|
|
6
|
+
# Runs on:
|
|
7
|
+
# - Push to main/master branches
|
|
8
|
+
# - Weekly schedule
|
|
9
|
+
# - Manual trigger
|
|
10
|
+
|
|
11
|
+
name: Context Budget Check
|
|
12
|
+
|
|
13
|
+
on:
|
|
14
|
+
push:
|
|
15
|
+
branches:
|
|
16
|
+
- main
|
|
17
|
+
- master
|
|
18
|
+
paths:
|
|
19
|
+
- '.claude/**'
|
|
20
|
+
schedule:
|
|
21
|
+
# Run weekly on Monday at 9am UTC
|
|
22
|
+
- cron: '0 9 * * 1'
|
|
23
|
+
workflow_dispatch:
|
|
24
|
+
|
|
25
|
+
jobs:
|
|
26
|
+
context-health:
|
|
27
|
+
name: Check Context Engineering Health
|
|
28
|
+
runs-on: ubuntu-latest
|
|
29
|
+
|
|
30
|
+
steps:
|
|
31
|
+
- name: Checkout repository
|
|
32
|
+
uses: actions/checkout@v4
|
|
33
|
+
|
|
34
|
+
- name: Setup Node.js
|
|
35
|
+
uses: actions/setup-node@v4
|
|
36
|
+
with:
|
|
37
|
+
node-version: '18'
|
|
38
|
+
cache: 'npm'
|
|
39
|
+
cache-dependency-path: '.claude/tools/package-lock.json'
|
|
40
|
+
|
|
41
|
+
- name: Install CLI tools
|
|
42
|
+
run: |
|
|
43
|
+
cd .claude/tools
|
|
44
|
+
npm ci
|
|
45
|
+
|
|
46
|
+
- name: Run Full Diagnostics
|
|
47
|
+
id: diagnose
|
|
48
|
+
run: |
|
|
49
|
+
echo "🔬 Running diagnostics..."
|
|
50
|
+
npx .claude/tools/bin/claude-context.js diagnose --verbose > diagnostics.txt 2>&1
|
|
51
|
+
cat diagnostics.txt
|
|
52
|
+
continue-on-error: true
|
|
53
|
+
|
|
54
|
+
- name: Calculate Documentation Metrics
|
|
55
|
+
run: |
|
|
56
|
+
echo "📊 Calculating metrics..."
|
|
57
|
+
|
|
58
|
+
# Count workflow files
|
|
59
|
+
WORKFLOW_COUNT=$(find .claude/context/workflows -name "*.md" 2>/dev/null | wc -l || echo "0")
|
|
60
|
+
echo "Workflow files: $WORKFLOW_COUNT"
|
|
61
|
+
|
|
62
|
+
# Count agent files
|
|
63
|
+
AGENT_COUNT=$(find .claude/agents -name "*.md" 2>/dev/null | wc -l || echo "0")
|
|
64
|
+
echo "Agent files: $AGENT_COUNT"
|
|
65
|
+
|
|
66
|
+
# Count command files
|
|
67
|
+
COMMAND_COUNT=$(find .claude/commands -name "*.md" 2>/dev/null | wc -l || echo "0")
|
|
68
|
+
echo "Command files: $COMMAND_COUNT"
|
|
69
|
+
|
|
70
|
+
# Estimate total documentation tokens (rough: 1 token ≈ 4 chars)
|
|
71
|
+
TOTAL_CHARS=$(find .claude -name "*.md" -exec cat {} \; 2>/dev/null | wc -c || echo "0")
|
|
72
|
+
ESTIMATED_TOKENS=$((TOTAL_CHARS / 4))
|
|
73
|
+
echo "Estimated documentation tokens: $ESTIMATED_TOKENS"
|
|
74
|
+
|
|
75
|
+
# Calculate as percentage of budget
|
|
76
|
+
MAX_TOKENS=200000
|
|
77
|
+
PERCENTAGE=$((ESTIMATED_TOKENS * 100 / MAX_TOKENS))
|
|
78
|
+
echo "Context budget usage: ${PERCENTAGE}%"
|
|
79
|
+
|
|
80
|
+
# Save metrics
|
|
81
|
+
cat > metrics.json << EOF
|
|
82
|
+
{
|
|
83
|
+
"workflow_count": $WORKFLOW_COUNT,
|
|
84
|
+
"agent_count": $AGENT_COUNT,
|
|
85
|
+
"command_count": $COMMAND_COUNT,
|
|
86
|
+
"estimated_tokens": $ESTIMATED_TOKENS,
|
|
87
|
+
"budget_percentage": $PERCENTAGE,
|
|
88
|
+
"timestamp": "$(date -u +%Y-%m-%dT%H:%M:%SZ)"
|
|
89
|
+
}
|
|
90
|
+
EOF
|
|
91
|
+
|
|
92
|
+
cat metrics.json
|
|
93
|
+
|
|
94
|
+
- name: Check Budget Threshold
|
|
95
|
+
run: |
|
|
96
|
+
PERCENTAGE=$(jq '.budget_percentage' metrics.json)
|
|
97
|
+
echo "Current usage: ${PERCENTAGE}%"
|
|
98
|
+
|
|
99
|
+
if [ "$PERCENTAGE" -gt 60 ]; then
|
|
100
|
+
echo "⚠️ WARNING: Documentation exceeds 60% of context budget!"
|
|
101
|
+
echo "Consider compacting or splitting documentation."
|
|
102
|
+
exit 1
|
|
103
|
+
elif [ "$PERCENTAGE" -gt 40 ]; then
|
|
104
|
+
echo "📊 Documentation is at ${PERCENTAGE}% - approaching target limit"
|
|
105
|
+
else
|
|
106
|
+
echo "✅ Documentation is within healthy range (${PERCENTAGE}%)"
|
|
107
|
+
fi
|
|
108
|
+
|
|
109
|
+
- name: Run Validation Suite
|
|
110
|
+
run: |
|
|
111
|
+
echo "🔍 Running validation..."
|
|
112
|
+
npx .claude/tools/bin/claude-context.js validate --all > validation.txt 2>&1 || true
|
|
113
|
+
cat validation.txt
|
|
114
|
+
|
|
115
|
+
- name: Upload Metrics
|
|
116
|
+
uses: actions/upload-artifact@v4
|
|
117
|
+
with:
|
|
118
|
+
name: context-metrics
|
|
119
|
+
path: |
|
|
120
|
+
metrics.json
|
|
121
|
+
diagnostics.txt
|
|
122
|
+
validation.txt
|
|
123
|
+
retention-days: 30
|
|
124
|
+
|
|
125
|
+
- name: Create Issue on Failure
|
|
126
|
+
if: failure() && github.event_name == 'schedule'
|
|
127
|
+
uses: actions/github-script@v7
|
|
128
|
+
with:
|
|
129
|
+
script: |
|
|
130
|
+
const fs = require('fs');
|
|
131
|
+
let metrics = {};
|
|
132
|
+
try {
|
|
133
|
+
metrics = JSON.parse(fs.readFileSync('metrics.json', 'utf8'));
|
|
134
|
+
} catch (e) {
|
|
135
|
+
metrics = { error: 'Could not read metrics' };
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
github.rest.issues.create({
|
|
139
|
+
owner: context.repo.owner,
|
|
140
|
+
repo: context.repo.repo,
|
|
141
|
+
title: '⚠️ Claude Context Engineering Health Check Failed',
|
|
142
|
+
body: `## Weekly Health Check Failed\n\n**Metrics:**\n\`\`\`json\n${JSON.stringify(metrics, null, 2)}\n\`\`\`\n\n**Action Required:**\n- Review documentation health\n- Run \`npx claude-context diagnose\` locally\n- Consider documentation compaction if over budget\n\n---\n*Generated by Claude Context Engineering CI*`,
|
|
143
|
+
labels: ['documentation', 'maintenance']
|
|
144
|
+
});
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# Claude Context Engineering - Documentation Validation
|
|
2
|
+
#
|
|
3
|
+
# This workflow validates that documentation is accurate and up-to-date.
|
|
4
|
+
# Copy this file to .github/workflows/validate-docs.yml to enable.
|
|
5
|
+
#
|
|
6
|
+
# Runs on:
|
|
7
|
+
# - Pull requests that modify .claude/ or source files
|
|
8
|
+
# - Manual trigger
|
|
9
|
+
|
|
10
|
+
name: Validate Documentation
|
|
11
|
+
|
|
12
|
+
on:
|
|
13
|
+
pull_request:
|
|
14
|
+
paths:
|
|
15
|
+
- '.claude/**'
|
|
16
|
+
- 'src/**'
|
|
17
|
+
- 'lib/**'
|
|
18
|
+
- 'app/**'
|
|
19
|
+
workflow_dispatch:
|
|
20
|
+
|
|
21
|
+
jobs:
|
|
22
|
+
validate:
|
|
23
|
+
name: Validate Claude Context Documentation
|
|
24
|
+
runs-on: ubuntu-latest
|
|
25
|
+
|
|
26
|
+
steps:
|
|
27
|
+
- name: Checkout repository
|
|
28
|
+
uses: actions/checkout@v4
|
|
29
|
+
|
|
30
|
+
- name: Setup Node.js
|
|
31
|
+
uses: actions/setup-node@v4
|
|
32
|
+
with:
|
|
33
|
+
node-version: '18'
|
|
34
|
+
cache: 'npm'
|
|
35
|
+
cache-dependency-path: '.claude/tools/package-lock.json'
|
|
36
|
+
|
|
37
|
+
- name: Install CLI tools
|
|
38
|
+
run: |
|
|
39
|
+
cd .claude/tools
|
|
40
|
+
npm ci
|
|
41
|
+
|
|
42
|
+
- name: Validate JSON Schemas
|
|
43
|
+
run: |
|
|
44
|
+
echo "🔍 Validating JSON schemas..."
|
|
45
|
+
npx .claude/tools/bin/claude-context.js validate --schema
|
|
46
|
+
continue-on-error: false
|
|
47
|
+
|
|
48
|
+
- name: Validate Markdown Links
|
|
49
|
+
run: |
|
|
50
|
+
echo "🔗 Checking markdown links..."
|
|
51
|
+
npx .claude/tools/bin/claude-context.js validate --links
|
|
52
|
+
continue-on-error: false
|
|
53
|
+
|
|
54
|
+
- name: Check for Unresolved Placeholders
|
|
55
|
+
run: |
|
|
56
|
+
echo "📝 Checking for placeholders..."
|
|
57
|
+
npx .claude/tools/bin/claude-context.js validate --placeholders
|
|
58
|
+
continue-on-error: true # Warning only
|
|
59
|
+
|
|
60
|
+
- name: Validate Directory Structure
|
|
61
|
+
run: |
|
|
62
|
+
echo "📁 Validating structure..."
|
|
63
|
+
npx .claude/tools/bin/claude-context.js validate --structure
|
|
64
|
+
continue-on-error: false
|
|
65
|
+
|
|
66
|
+
- name: Check Line Number Accuracy
|
|
67
|
+
run: |
|
|
68
|
+
echo "📍 Checking line number accuracy..."
|
|
69
|
+
npx .claude/tools/bin/claude-context.js validate --lines --threshold 60
|
|
70
|
+
continue-on-error: true # Warning only for line drift
|
|
71
|
+
|
|
72
|
+
- name: Generate Validation Report
|
|
73
|
+
if: always()
|
|
74
|
+
run: |
|
|
75
|
+
echo "📊 Generating full validation report..."
|
|
76
|
+
npx .claude/tools/bin/claude-context.js validate --all --output markdown > validation-report.md
|
|
77
|
+
cat validation-report.md
|
|
78
|
+
|
|
79
|
+
- name: Upload Validation Report
|
|
80
|
+
if: always()
|
|
81
|
+
uses: actions/upload-artifact@v4
|
|
82
|
+
with:
|
|
83
|
+
name: validation-report
|
|
84
|
+
path: validation-report.md
|
|
85
|
+
retention-days: 7
|
|
86
|
+
|
|
87
|
+
- name: Comment on PR
|
|
88
|
+
if: github.event_name == 'pull_request' && failure()
|
|
89
|
+
uses: actions/github-script@v7
|
|
90
|
+
with:
|
|
91
|
+
script: |
|
|
92
|
+
const fs = require('fs');
|
|
93
|
+
let report = '';
|
|
94
|
+
try {
|
|
95
|
+
report = fs.readFileSync('validation-report.md', 'utf8');
|
|
96
|
+
} catch (e) {
|
|
97
|
+
report = 'Validation report not available.';
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
github.rest.issues.createComment({
|
|
101
|
+
issue_number: context.issue.number,
|
|
102
|
+
owner: context.repo.owner,
|
|
103
|
+
repo: context.repo.repo,
|
|
104
|
+
body: `## 🔍 Documentation Validation Failed\n\n${report}\n\n---\n*Generated by Claude Context Engineering CI*`
|
|
105
|
+
});
|