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,126 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://claude-context.dev/schemas/workflow.schema.json",
|
|
4
|
+
"title": "Claude Context Workflow",
|
|
5
|
+
"description": "Schema for workflow documentation files (YAML frontmatter)",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": ["name", "description", "complexity"],
|
|
8
|
+
"properties": {
|
|
9
|
+
"name": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"pattern": "^[a-z0-9-]+$",
|
|
12
|
+
"minLength": 1,
|
|
13
|
+
"maxLength": 50,
|
|
14
|
+
"description": "Workflow identifier"
|
|
15
|
+
},
|
|
16
|
+
"displayName": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"maxLength": 100,
|
|
19
|
+
"description": "Human-readable workflow name"
|
|
20
|
+
},
|
|
21
|
+
"description": {
|
|
22
|
+
"type": "string",
|
|
23
|
+
"maxLength": 500,
|
|
24
|
+
"description": "Brief description of the workflow"
|
|
25
|
+
},
|
|
26
|
+
"complexity": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"enum": ["low", "medium", "high"],
|
|
29
|
+
"description": "Workflow complexity level"
|
|
30
|
+
},
|
|
31
|
+
"estimated_lines": {
|
|
32
|
+
"type": "integer",
|
|
33
|
+
"minimum": 1,
|
|
34
|
+
"description": "Estimated lines of code in this workflow"
|
|
35
|
+
},
|
|
36
|
+
"estimated_tokens": {
|
|
37
|
+
"type": "integer",
|
|
38
|
+
"minimum": 100,
|
|
39
|
+
"description": "Estimated documentation tokens"
|
|
40
|
+
},
|
|
41
|
+
"category": {
|
|
42
|
+
"type": "string",
|
|
43
|
+
"description": "Workflow category (e.g., 'authentication', 'payment')"
|
|
44
|
+
},
|
|
45
|
+
"entry_points": {
|
|
46
|
+
"type": "array",
|
|
47
|
+
"items": {
|
|
48
|
+
"type": "object",
|
|
49
|
+
"properties": {
|
|
50
|
+
"file": { "type": "string" },
|
|
51
|
+
"line": { "type": "integer" },
|
|
52
|
+
"function": { "type": "string" },
|
|
53
|
+
"description": { "type": "string" }
|
|
54
|
+
},
|
|
55
|
+
"required": ["file", "function"]
|
|
56
|
+
},
|
|
57
|
+
"description": "Entry points into this workflow"
|
|
58
|
+
},
|
|
59
|
+
"files": {
|
|
60
|
+
"type": "array",
|
|
61
|
+
"items": { "type": "string" },
|
|
62
|
+
"description": "Files involved in this workflow"
|
|
63
|
+
},
|
|
64
|
+
"sub_workflows": {
|
|
65
|
+
"type": "array",
|
|
66
|
+
"items": { "type": "string" },
|
|
67
|
+
"description": "Related sub-workflows"
|
|
68
|
+
},
|
|
69
|
+
"database_tables": {
|
|
70
|
+
"type": "array",
|
|
71
|
+
"items": { "type": "string" },
|
|
72
|
+
"description": "Database tables accessed"
|
|
73
|
+
},
|
|
74
|
+
"external_apis": {
|
|
75
|
+
"type": "array",
|
|
76
|
+
"items": {
|
|
77
|
+
"type": "object",
|
|
78
|
+
"properties": {
|
|
79
|
+
"service": { "type": "string" },
|
|
80
|
+
"endpoint": { "type": "string" },
|
|
81
|
+
"auth_method": { "type": "string" }
|
|
82
|
+
},
|
|
83
|
+
"required": ["service"]
|
|
84
|
+
},
|
|
85
|
+
"description": "External APIs called"
|
|
86
|
+
},
|
|
87
|
+
"test_files": {
|
|
88
|
+
"type": "array",
|
|
89
|
+
"items": { "type": "string" },
|
|
90
|
+
"description": "Related test files"
|
|
91
|
+
},
|
|
92
|
+
"related_agents": {
|
|
93
|
+
"type": "array",
|
|
94
|
+
"items": { "type": "string" },
|
|
95
|
+
"description": "Agents that specialize in this workflow"
|
|
96
|
+
},
|
|
97
|
+
"gotchas": {
|
|
98
|
+
"type": "array",
|
|
99
|
+
"items": {
|
|
100
|
+
"type": "object",
|
|
101
|
+
"properties": {
|
|
102
|
+
"issue": { "type": "string" },
|
|
103
|
+
"solution": { "type": "string" },
|
|
104
|
+
"severity": {
|
|
105
|
+
"type": "string",
|
|
106
|
+
"enum": ["low", "medium", "high", "critical"]
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
"required": ["issue", "solution"]
|
|
110
|
+
},
|
|
111
|
+
"description": "Known gotchas and their solutions"
|
|
112
|
+
},
|
|
113
|
+
"last_verified": {
|
|
114
|
+
"type": "string",
|
|
115
|
+
"format": "date",
|
|
116
|
+
"description": "Date of last documentation verification"
|
|
117
|
+
},
|
|
118
|
+
"accuracy_score": {
|
|
119
|
+
"type": "integer",
|
|
120
|
+
"minimum": 0,
|
|
121
|
+
"maximum": 100,
|
|
122
|
+
"description": "Line number accuracy percentage"
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
"additionalProperties": false
|
|
126
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "./schemas/settings.schema.json",
|
|
3
|
+
"version": "1.1.0",
|
|
4
|
+
"context_engineering": {
|
|
5
|
+
"enabled": true,
|
|
6
|
+
"max_context_tokens": 200000,
|
|
7
|
+
"max_output_tokens": 30000,
|
|
8
|
+
"target_utilization": 0.40,
|
|
9
|
+
"compact_trigger": 0.35
|
|
10
|
+
},
|
|
11
|
+
"rpi_workflow": {
|
|
12
|
+
"enabled": true,
|
|
13
|
+
"phases": ["research", "plan", "implement"],
|
|
14
|
+
"require_human_approval": true,
|
|
15
|
+
"auto_doc_update": true,
|
|
16
|
+
"research_timeout_minutes": 30,
|
|
17
|
+
"plan_timeout_minutes": 20
|
|
18
|
+
},
|
|
19
|
+
"documentation": {
|
|
20
|
+
"self_maintaining": true,
|
|
21
|
+
"verify_after_changes": true,
|
|
22
|
+
"line_number_tolerance": 10,
|
|
23
|
+
"auto_commit_docs": false
|
|
24
|
+
},
|
|
25
|
+
"agents": {
|
|
26
|
+
"default": "context-engineer",
|
|
27
|
+
"auto_select": true,
|
|
28
|
+
"fallback": "core-architect"
|
|
29
|
+
},
|
|
30
|
+
"commands": {
|
|
31
|
+
"rpi_commands": ["/rpi-research", "/rpi-plan", "/rpi-implement"],
|
|
32
|
+
"validation_commands": ["/verify-docs-current", "/validate-all"]
|
|
33
|
+
},
|
|
34
|
+
"validation": {
|
|
35
|
+
"on_commit": true,
|
|
36
|
+
"line_accuracy_threshold": 60,
|
|
37
|
+
"link_check_external": false
|
|
38
|
+
},
|
|
39
|
+
"logging": {
|
|
40
|
+
"level": "info",
|
|
41
|
+
"file": ".claude/logs/claude.log",
|
|
42
|
+
"max_size_mb": 10
|
|
43
|
+
},
|
|
44
|
+
"telemetry": {
|
|
45
|
+
"enabled": false,
|
|
46
|
+
"events": {
|
|
47
|
+
"command_usage": true,
|
|
48
|
+
"agent_usage": true,
|
|
49
|
+
"context_metrics": true,
|
|
50
|
+
"error_reports": true
|
|
51
|
+
},
|
|
52
|
+
"privacy": {
|
|
53
|
+
"anonymize_paths": true,
|
|
54
|
+
"exclude_content": true
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
# Compatibility Guide
|
|
2
|
+
|
|
3
|
+
Version compatibility information for Claude Context Engineering.
|
|
4
|
+
|
|
5
|
+
## Template Versions
|
|
6
|
+
|
|
7
|
+
### Current Version: 1.0.0
|
|
8
|
+
|
|
9
|
+
**Release Date:** {{DATE}}
|
|
10
|
+
|
|
11
|
+
**Supported Claude Code Versions:** All versions with 200k context window
|
|
12
|
+
|
|
13
|
+
**Node.js Requirement:** 18.x or higher
|
|
14
|
+
|
|
15
|
+
## Version History
|
|
16
|
+
|
|
17
|
+
| Version | Release | Status | Notes |
|
|
18
|
+
|---------|---------|--------|-------|
|
|
19
|
+
| 1.0.0 | {{DATE}} | Current | Initial release |
|
|
20
|
+
|
|
21
|
+
## Semantic Versioning
|
|
22
|
+
|
|
23
|
+
This project follows [Semantic Versioning](https://semver.org/):
|
|
24
|
+
|
|
25
|
+
- **MAJOR** (1.x.x → 2.x.x): Breaking changes
|
|
26
|
+
- **MINOR** (1.0.x → 1.1.x): New features, backward compatible
|
|
27
|
+
- **PATCH** (1.0.0 → 1.0.1): Bug fixes, backward compatible
|
|
28
|
+
|
|
29
|
+
## Breaking Changes
|
|
30
|
+
|
|
31
|
+
### What Constitutes a Breaking Change
|
|
32
|
+
|
|
33
|
+
- Schema format changes requiring migration
|
|
34
|
+
- Removed or renamed configuration options
|
|
35
|
+
- Changed directory structure requirements
|
|
36
|
+
- Modified CLI command syntax
|
|
37
|
+
- Removed agents, commands, or workflows
|
|
38
|
+
|
|
39
|
+
### How Breaking Changes Are Handled
|
|
40
|
+
|
|
41
|
+
1. **Announced** in CHANGELOG and release notes
|
|
42
|
+
2. **Documented** with migration guide
|
|
43
|
+
3. **Deprecated** features have 2 minor versions notice
|
|
44
|
+
4. **Migration scripts** provided when possible
|
|
45
|
+
|
|
46
|
+
## Extension Compatibility
|
|
47
|
+
|
|
48
|
+
### Specifying Compatibility
|
|
49
|
+
|
|
50
|
+
In your extension `manifest.json`:
|
|
51
|
+
|
|
52
|
+
```json
|
|
53
|
+
{
|
|
54
|
+
"claude_context_version": "^1.0.0"
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Version Range Examples
|
|
59
|
+
|
|
60
|
+
| Range | Meaning | Matches |
|
|
61
|
+
|-------|---------|---------|
|
|
62
|
+
| `1.0.0` | Exact version | 1.0.0 only |
|
|
63
|
+
| `^1.0.0` | Compatible with 1.x.x | 1.0.0, 1.1.0, 1.2.3 |
|
|
64
|
+
| `~1.0.0` | Patch updates only | 1.0.0, 1.0.1, 1.0.2 |
|
|
65
|
+
| `>=1.0.0 <2.0.0` | Range | 1.x.x |
|
|
66
|
+
| `*` | Any version | All (not recommended) |
|
|
67
|
+
|
|
68
|
+
### Recommended Practice
|
|
69
|
+
|
|
70
|
+
Use caret (`^`) for most extensions:
|
|
71
|
+
```json
|
|
72
|
+
{
|
|
73
|
+
"claude_context_version": "^1.0.0"
|
|
74
|
+
}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
This allows patch and minor updates while preventing breaking changes.
|
|
78
|
+
|
|
79
|
+
## Schema Compatibility
|
|
80
|
+
|
|
81
|
+
### Schema Versioning
|
|
82
|
+
|
|
83
|
+
Schemas include version in their `$id`:
|
|
84
|
+
```json
|
|
85
|
+
{
|
|
86
|
+
"$id": "https://claude-context.dev/schemas/settings-v1.json"
|
|
87
|
+
}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Schema Changes
|
|
91
|
+
|
|
92
|
+
| Change Type | Version Impact | Migration |
|
|
93
|
+
|-------------|----------------|-----------|
|
|
94
|
+
| Add optional field | None | Automatic |
|
|
95
|
+
| Add required field | Minor bump | Defaults provided |
|
|
96
|
+
| Remove field | Major bump | Migration required |
|
|
97
|
+
| Change field type | Major bump | Migration required |
|
|
98
|
+
| Rename field | Major bump | Migration required |
|
|
99
|
+
|
|
100
|
+
## Configuration Compatibility
|
|
101
|
+
|
|
102
|
+
### Adding New Settings
|
|
103
|
+
|
|
104
|
+
New settings always have defaults:
|
|
105
|
+
```json
|
|
106
|
+
{
|
|
107
|
+
"new_feature": {
|
|
108
|
+
"enabled": false // Default: opt-in
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### Deprecating Settings
|
|
114
|
+
|
|
115
|
+
Deprecated settings:
|
|
116
|
+
1. Continue to work for 2 minor versions
|
|
117
|
+
2. Log deprecation warning
|
|
118
|
+
3. Document replacement in CHANGELOG
|
|
119
|
+
4. Remove in next major version
|
|
120
|
+
|
|
121
|
+
Example deprecation notice:
|
|
122
|
+
```json
|
|
123
|
+
{
|
|
124
|
+
"old_setting": "DEPRECATED: Use new_setting instead"
|
|
125
|
+
}
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## CLI Compatibility
|
|
129
|
+
|
|
130
|
+
### Command Stability
|
|
131
|
+
|
|
132
|
+
| Stability | Description | Change Policy |
|
|
133
|
+
|-----------|-------------|---------------|
|
|
134
|
+
| Stable | Production ready | No breaking changes in minor versions |
|
|
135
|
+
| Beta | Feature complete | May change in minor versions |
|
|
136
|
+
| Alpha | Experimental | May change in any version |
|
|
137
|
+
|
|
138
|
+
### Current Command Status
|
|
139
|
+
|
|
140
|
+
| Command | Stability |
|
|
141
|
+
|---------|-----------|
|
|
142
|
+
| `init` | Stable |
|
|
143
|
+
| `validate` | Stable |
|
|
144
|
+
| `diagnose` | Stable |
|
|
145
|
+
| `config` | Stable |
|
|
146
|
+
|
|
147
|
+
## Migration Guides
|
|
148
|
+
|
|
149
|
+
### Migrating Between Versions
|
|
150
|
+
|
|
151
|
+
When upgrading, check:
|
|
152
|
+
1. CHANGELOG for breaking changes
|
|
153
|
+
2. Migration guide (if major version)
|
|
154
|
+
3. Run `npx claude-context validate` after upgrade
|
|
155
|
+
|
|
156
|
+
### Migration Scripts
|
|
157
|
+
|
|
158
|
+
For major versions, migration scripts are provided:
|
|
159
|
+
```bash
|
|
160
|
+
npx claude-context migrate --from 1.x --to 2.x
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
## Testing Compatibility
|
|
164
|
+
|
|
165
|
+
### Before Upgrading
|
|
166
|
+
|
|
167
|
+
1. Review CHANGELOG for your current → target version
|
|
168
|
+
2. Check extension compatibility
|
|
169
|
+
3. Run validation on current version
|
|
170
|
+
4. Backup `.claude/` directory
|
|
171
|
+
5. Upgrade and re-validate
|
|
172
|
+
|
|
173
|
+
### Extension Testing Matrix
|
|
174
|
+
|
|
175
|
+
Test your extension against:
|
|
176
|
+
- Current stable version
|
|
177
|
+
- Latest minor version of each major
|
|
178
|
+
- Next release candidate (optional)
|
|
179
|
+
|
|
180
|
+
## Reporting Issues
|
|
181
|
+
|
|
182
|
+
### Compatibility Issue Template
|
|
183
|
+
|
|
184
|
+
When reporting compatibility issues, include:
|
|
185
|
+
- Template version
|
|
186
|
+
- Extension version (if applicable)
|
|
187
|
+
- Node.js version
|
|
188
|
+
- Operating system
|
|
189
|
+
- Error message or unexpected behavior
|
|
190
|
+
- Steps to reproduce
|
|
191
|
+
|
|
192
|
+
### Where to Report
|
|
193
|
+
|
|
194
|
+
- Template issues: [GitHub Issues]({{REPO_URL}}/issues)
|
|
195
|
+
- Extension issues: Extension's repository
|
|
196
|
+
- Security issues: security@claude-context.dev (example)
|
|
197
|
+
|
|
198
|
+
## Support Policy
|
|
199
|
+
|
|
200
|
+
### Version Support Duration
|
|
201
|
+
|
|
202
|
+
| Version Type | Support Duration |
|
|
203
|
+
|--------------|------------------|
|
|
204
|
+
| Current major | Full support |
|
|
205
|
+
| Previous major | Security fixes for 12 months |
|
|
206
|
+
| Older versions | Community support only |
|
|
207
|
+
|
|
208
|
+
### End of Life (EOL)
|
|
209
|
+
|
|
210
|
+
EOL versions:
|
|
211
|
+
- No longer receive updates
|
|
212
|
+
- May have known issues
|
|
213
|
+
- Should upgrade to supported version
|
|
214
|
+
|
|
215
|
+
## Related
|
|
216
|
+
|
|
217
|
+
- [Extension Guidelines](./EXTENSION_GUIDELINES.md)
|
|
218
|
+
- [Quality Checklist](./QUALITY_CHECKLIST.md)
|
|
219
|
+
- [CHANGELOG](../../CHANGELOG.md)
|
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
# Extension Publishing Guidelines
|
|
2
|
+
|
|
3
|
+
Standards and requirements for publishing Claude Context Engineering extensions.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
Extensions enhance the Context Engineering template with additional agents, commands, workflows, and integrations. This guide covers requirements for publishing extensions to the community registry.
|
|
8
|
+
|
|
9
|
+
## Extension Types
|
|
10
|
+
|
|
11
|
+
| Type | Description | Directory |
|
|
12
|
+
|------|-------------|-----------|
|
|
13
|
+
| **Agent** | Specialized AI assistant | `.claude/extensions/[name]/agents/` |
|
|
14
|
+
| **Command** | Custom slash command | `.claude/extensions/[name]/commands/` |
|
|
15
|
+
| **Workflow** | Domain workflow documentation | `.claude/extensions/[name]/workflows/` |
|
|
16
|
+
| **Adapter** | Framework-specific configuration | `.claude/extensions/[name]/adapters/` |
|
|
17
|
+
| **Integration** | Third-party service integration | `.claude/extensions/[name]/integrations/` |
|
|
18
|
+
|
|
19
|
+
## Extension Structure
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
my-extension/
|
|
23
|
+
├── manifest.json # Required: Extension metadata
|
|
24
|
+
├── README.md # Required: Documentation
|
|
25
|
+
├── LICENSE # Required: License file
|
|
26
|
+
├── CHANGELOG.md # Recommended: Version history
|
|
27
|
+
├── agents/ # Agent definitions
|
|
28
|
+
│ └── my-agent.md
|
|
29
|
+
├── commands/ # Command definitions
|
|
30
|
+
│ └── my-command.md
|
|
31
|
+
├── workflows/ # Workflow documentation
|
|
32
|
+
│ └── my-workflow.md
|
|
33
|
+
├── schemas/ # Custom schemas
|
|
34
|
+
│ └── my-schema.json
|
|
35
|
+
└── tests/ # Extension tests
|
|
36
|
+
└── validate.js
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Manifest Requirements
|
|
40
|
+
|
|
41
|
+
Every extension must include a `manifest.json`:
|
|
42
|
+
|
|
43
|
+
```json
|
|
44
|
+
{
|
|
45
|
+
"$schema": "https://claude-context.dev/schemas/extension-manifest-v1.json",
|
|
46
|
+
"name": "my-extension",
|
|
47
|
+
"version": "1.0.0",
|
|
48
|
+
"displayName": "My Extension",
|
|
49
|
+
"description": "Brief description of what this extension provides",
|
|
50
|
+
"author": {
|
|
51
|
+
"name": "Author Name",
|
|
52
|
+
"email": "author@example.com",
|
|
53
|
+
"url": "https://github.com/author"
|
|
54
|
+
},
|
|
55
|
+
"license": "MIT",
|
|
56
|
+
"repository": "https://github.com/author/my-extension",
|
|
57
|
+
"keywords": ["keyword1", "keyword2"],
|
|
58
|
+
"claude_context_version": "^1.0.0",
|
|
59
|
+
"contents": {
|
|
60
|
+
"agents": ["my-agent"],
|
|
61
|
+
"commands": ["my-command"],
|
|
62
|
+
"workflows": ["my-workflow"]
|
|
63
|
+
},
|
|
64
|
+
"dependencies": {},
|
|
65
|
+
"peerDependencies": {}
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Required Fields
|
|
70
|
+
|
|
71
|
+
| Field | Description |
|
|
72
|
+
|-------|-------------|
|
|
73
|
+
| `name` | Unique identifier (lowercase, hyphens only) |
|
|
74
|
+
| `version` | Semantic version (MAJOR.MINOR.PATCH) |
|
|
75
|
+
| `displayName` | Human-readable name |
|
|
76
|
+
| `description` | Brief description (max 200 chars) |
|
|
77
|
+
| `author` | Author information |
|
|
78
|
+
| `license` | SPDX license identifier |
|
|
79
|
+
| `claude_context_version` | Compatible template version |
|
|
80
|
+
| `contents` | What the extension provides |
|
|
81
|
+
|
|
82
|
+
## Documentation Requirements
|
|
83
|
+
|
|
84
|
+
### README.md Must Include
|
|
85
|
+
|
|
86
|
+
1. **Title and Description** - What the extension does
|
|
87
|
+
2. **Installation** - How to install
|
|
88
|
+
3. **Usage** - How to use each component
|
|
89
|
+
4. **Configuration** - Any required configuration
|
|
90
|
+
5. **Examples** - Working examples
|
|
91
|
+
6. **Troubleshooting** - Common issues
|
|
92
|
+
7. **License** - License information
|
|
93
|
+
|
|
94
|
+
### Minimum README Template
|
|
95
|
+
|
|
96
|
+
```markdown
|
|
97
|
+
# Extension Name
|
|
98
|
+
|
|
99
|
+
Brief description.
|
|
100
|
+
|
|
101
|
+
## Installation
|
|
102
|
+
|
|
103
|
+
\`\`\`bash
|
|
104
|
+
npx claude-context extension install extension-name
|
|
105
|
+
\`\`\`
|
|
106
|
+
|
|
107
|
+
## Usage
|
|
108
|
+
|
|
109
|
+
### Agent: @agent-name
|
|
110
|
+
|
|
111
|
+
Description and usage.
|
|
112
|
+
|
|
113
|
+
### Command: /command-name
|
|
114
|
+
|
|
115
|
+
Description and usage.
|
|
116
|
+
|
|
117
|
+
## Configuration
|
|
118
|
+
|
|
119
|
+
Required configuration steps.
|
|
120
|
+
|
|
121
|
+
## Examples
|
|
122
|
+
|
|
123
|
+
Working examples.
|
|
124
|
+
|
|
125
|
+
## License
|
|
126
|
+
|
|
127
|
+
MIT License
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## Code Standards
|
|
131
|
+
|
|
132
|
+
### Agents
|
|
133
|
+
|
|
134
|
+
- Follow frontmatter schema
|
|
135
|
+
- Include all required metadata
|
|
136
|
+
- Document capabilities clearly
|
|
137
|
+
- Provide usage examples
|
|
138
|
+
- Specify context budget
|
|
139
|
+
|
|
140
|
+
### Commands
|
|
141
|
+
|
|
142
|
+
- Follow frontmatter schema
|
|
143
|
+
- Document all subcommands
|
|
144
|
+
- Include input/output examples
|
|
145
|
+
- Specify prerequisites
|
|
146
|
+
- Document error handling
|
|
147
|
+
|
|
148
|
+
### Workflows
|
|
149
|
+
|
|
150
|
+
- Follow workflow schema
|
|
151
|
+
- Include file:line references
|
|
152
|
+
- Document integration points
|
|
153
|
+
- Keep under 5000 tokens
|
|
154
|
+
|
|
155
|
+
## Quality Requirements
|
|
156
|
+
|
|
157
|
+
Before submitting, ensure:
|
|
158
|
+
|
|
159
|
+
- [ ] All files pass schema validation
|
|
160
|
+
- [ ] README is complete and accurate
|
|
161
|
+
- [ ] All examples work correctly
|
|
162
|
+
- [ ] No placeholder text remains
|
|
163
|
+
- [ ] License file included
|
|
164
|
+
- [ ] CHANGELOG documents changes
|
|
165
|
+
- [ ] Tests pass (if included)
|
|
166
|
+
- [ ] Context budget is documented
|
|
167
|
+
- [ ] No sensitive data included
|
|
168
|
+
|
|
169
|
+
## Versioning
|
|
170
|
+
|
|
171
|
+
Follow Semantic Versioning (SemVer):
|
|
172
|
+
|
|
173
|
+
- **MAJOR**: Breaking changes
|
|
174
|
+
- **MINOR**: New features, backward compatible
|
|
175
|
+
- **PATCH**: Bug fixes, backward compatible
|
|
176
|
+
|
|
177
|
+
### Version Compatibility
|
|
178
|
+
|
|
179
|
+
Specify `claude_context_version` using semver ranges:
|
|
180
|
+
|
|
181
|
+
```json
|
|
182
|
+
{
|
|
183
|
+
"claude_context_version": "^1.0.0" // 1.x.x
|
|
184
|
+
}
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
## Submission Process
|
|
188
|
+
|
|
189
|
+
### 1. Prepare Extension
|
|
190
|
+
|
|
191
|
+
- Complete all required files
|
|
192
|
+
- Run quality checklist
|
|
193
|
+
- Test with target template version
|
|
194
|
+
|
|
195
|
+
### 2. Create Repository
|
|
196
|
+
|
|
197
|
+
- Host on GitHub (public)
|
|
198
|
+
- Include all required files
|
|
199
|
+
- Tag release with version
|
|
200
|
+
|
|
201
|
+
### 3. Submit for Review
|
|
202
|
+
|
|
203
|
+
Open an issue using the Extension Submission template:
|
|
204
|
+
- Provide repository URL
|
|
205
|
+
- Describe the extension
|
|
206
|
+
- List tested versions
|
|
207
|
+
|
|
208
|
+
### 4. Review Process
|
|
209
|
+
|
|
210
|
+
Maintainers will:
|
|
211
|
+
1. Validate manifest and structure
|
|
212
|
+
2. Review documentation quality
|
|
213
|
+
3. Test installation and functionality
|
|
214
|
+
4. Check for security issues
|
|
215
|
+
5. Verify license compatibility
|
|
216
|
+
|
|
217
|
+
### 5. Publication
|
|
218
|
+
|
|
219
|
+
Once approved:
|
|
220
|
+
- Added to community registry
|
|
221
|
+
- Listed in extension search
|
|
222
|
+
- Announced in release notes
|
|
223
|
+
|
|
224
|
+
## Maintenance
|
|
225
|
+
|
|
226
|
+
### Ongoing Requirements
|
|
227
|
+
|
|
228
|
+
- Respond to issues within 14 days
|
|
229
|
+
- Update for breaking template changes
|
|
230
|
+
- Maintain documentation accuracy
|
|
231
|
+
- Follow security advisories
|
|
232
|
+
|
|
233
|
+
### Deprecation
|
|
234
|
+
|
|
235
|
+
To deprecate an extension:
|
|
236
|
+
1. Add `"deprecated": true` to manifest
|
|
237
|
+
2. Document migration path in README
|
|
238
|
+
3. Keep available for 6 months minimum
|
|
239
|
+
|
|
240
|
+
## Security Guidelines
|
|
241
|
+
|
|
242
|
+
### Do NOT Include
|
|
243
|
+
|
|
244
|
+
- API keys or secrets
|
|
245
|
+
- Personal data
|
|
246
|
+
- Executable binaries
|
|
247
|
+
- Minified/obfuscated code
|
|
248
|
+
- External network calls without disclosure
|
|
249
|
+
|
|
250
|
+
### Security Review
|
|
251
|
+
|
|
252
|
+
Extensions with these features require extra review:
|
|
253
|
+
- External API integrations
|
|
254
|
+
- File system operations
|
|
255
|
+
- Code execution
|
|
256
|
+
- Configuration of sensitive settings
|
|
257
|
+
|
|
258
|
+
## License Requirements
|
|
259
|
+
|
|
260
|
+
Acceptable licenses (SPDX identifiers):
|
|
261
|
+
- MIT
|
|
262
|
+
- Apache-2.0
|
|
263
|
+
- BSD-2-Clause
|
|
264
|
+
- BSD-3-Clause
|
|
265
|
+
- ISC
|
|
266
|
+
- MPL-2.0
|
|
267
|
+
|
|
268
|
+
Other licenses reviewed case-by-case.
|
|
269
|
+
|
|
270
|
+
## Support
|
|
271
|
+
|
|
272
|
+
- GitHub Issues for bug reports
|
|
273
|
+
- Discussions for questions
|
|
274
|
+
- Security issues: security@claude-context.dev (example)
|
|
275
|
+
|
|
276
|
+
## Related
|
|
277
|
+
|
|
278
|
+
- [Quality Checklist](./QUALITY_CHECKLIST.md)
|
|
279
|
+
- [Compatibility Guide](./COMPATIBILITY.md)
|
|
280
|
+
- [Extension Manifest Schema](../schemas/manifest.schema.json)
|