opencodekit 0.17.0 → 0.17.2
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/dist/index.js +1 -1
- package/dist/template/.opencode/AGENT_ALIGNMENT.md +564 -0
- package/dist/template/.opencode/agent/build.md +140 -0
- package/dist/template/.opencode/agent/general.md +89 -0
- package/dist/template/.opencode/agent/plan.md +175 -0
- package/dist/template/.opencode/agent/review.md +96 -0
- package/dist/template/.opencode/command/create.md +57 -15
- package/dist/template/.opencode/command/init-context.md +259 -0
- package/dist/template/.opencode/command/init-user.md +103 -0
- package/dist/template/.opencode/command/init.md +53 -39
- package/dist/template/.opencode/command/plan.md +200 -16
- package/dist/template/.opencode/command/ship.md +251 -17
- package/dist/template/.opencode/command/start.md +35 -4
- package/dist/template/.opencode/dcp.jsonc +80 -80
- package/dist/template/.opencode/memory/_templates/PROJECT.md +58 -0
- package/dist/template/.opencode/memory/_templates/ROADMAP.md +93 -0
- package/dist/template/.opencode/memory/_templates/STATE.md +89 -0
- package/dist/template/.opencode/memory/_templates/tech-stack.md +35 -0
- package/dist/template/.opencode/memory/project/project.md +92 -0
- package/dist/template/.opencode/memory/project/roadmap.md +142 -0
- package/dist/template/.opencode/memory/project/state.md +84 -0
- package/dist/template/.opencode/opencode.json +1030 -1104
- package/dist/template/.opencode/package.json +1 -1
- package/dist/template/.opencode/skill/context-initialization/SKILL.md +60 -0
- package/dist/template/.opencode/skill/systematic-debugging/SKILL.md +76 -0
- package/dist/template/.opencode/skill/writing-plans/SKILL.md +68 -0
- package/package.json +1 -1
|
@@ -1,82 +1,82 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
2
|
+
"$schema": "https://raw.githubusercontent.com/Opencode-DCP/opencode-dynamic-context-pruning/master/dcp.schema.json",
|
|
3
|
+
"enabled": true,
|
|
4
|
+
"debug": false,
|
|
5
|
+
// "minimal" shows prune activity without noise; "detailed" shows token counts
|
|
6
|
+
"pruneNotification": "detailed",
|
|
7
|
+
// "chat" (in-conversation) or "toast" (system notification)
|
|
8
|
+
"pruneNotificationType": "toast",
|
|
9
|
+
// Commands: /dcp context, /dcp stats, /dcp sweep
|
|
10
|
+
"commands": {
|
|
11
|
+
"enabled": true,
|
|
12
|
+
// Protect these from /dcp sweep
|
|
13
|
+
"protectedTools": ["observation", "memory-update", "memory-search"],
|
|
14
|
+
},
|
|
15
|
+
"turnProtection": {
|
|
16
|
+
"enabled": true,
|
|
17
|
+
"turns": 4,
|
|
18
|
+
},
|
|
19
|
+
// Protected file patterns - never auto-prune reads of these files
|
|
20
|
+
"protectedFilePatterns": [
|
|
21
|
+
"**/.env*",
|
|
22
|
+
"**/AGENTS.md",
|
|
23
|
+
"**/.opencode/**",
|
|
24
|
+
"**/.beads/**",
|
|
25
|
+
"**/package.json",
|
|
26
|
+
"**/tsconfig.json",
|
|
27
|
+
"**/biome.json",
|
|
28
|
+
],
|
|
29
|
+
"tools": {
|
|
30
|
+
"settings": {
|
|
31
|
+
"nudgeEnabled": true,
|
|
32
|
+
"nudgeFrequency": 10,
|
|
33
|
+
// v2.0.1: percentage support - 90% of model's 128k context
|
|
34
|
+
"contextLimit": 200000,
|
|
35
|
+
// Protect state-modifying and critical workflow tools
|
|
36
|
+
// LSP excluded: ephemeral exploration, prune after understanding
|
|
37
|
+
"protectedTools": [
|
|
38
|
+
"write",
|
|
39
|
+
"edit",
|
|
40
|
+
"memory-update",
|
|
41
|
+
"observation",
|
|
42
|
+
"skill",
|
|
43
|
+
"skill_mcp",
|
|
44
|
+
"task",
|
|
45
|
+
"batch",
|
|
46
|
+
"todowrite",
|
|
47
|
+
"todoread",
|
|
48
|
+
],
|
|
49
|
+
},
|
|
50
|
+
// v2.0.0: permission model - "allow", "ask", or "deny"
|
|
51
|
+
"prune": {
|
|
52
|
+
"permission": "allow",
|
|
53
|
+
},
|
|
54
|
+
"distill": {
|
|
55
|
+
"permission": "allow",
|
|
56
|
+
"showDistillation": false,
|
|
57
|
+
},
|
|
58
|
+
"compress": {
|
|
59
|
+
// v2.1.1: compress enabled with improved boundary matching
|
|
60
|
+
"permission": "allow",
|
|
61
|
+
"showCompression": true,
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
"strategies": {
|
|
65
|
+
// Dedup = zero LLM cost, high impact - always enable
|
|
66
|
+
"deduplication": {
|
|
67
|
+
"enabled": true,
|
|
68
|
+
"protectedTools": [],
|
|
69
|
+
},
|
|
70
|
+
// Supersede writes = zero cost, removes redundant write inputs after read
|
|
71
|
+
// Note: default changed to false in beta, we explicitly enable
|
|
72
|
+
"supersedeWrites": {
|
|
73
|
+
"enabled": true,
|
|
74
|
+
},
|
|
75
|
+
// Purge error inputs after N turns
|
|
76
|
+
"purgeErrors": {
|
|
77
|
+
"enabled": true,
|
|
78
|
+
"turns": 4,
|
|
79
|
+
"protectedTools": [],
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
82
|
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
purpose: Project vision, goals, and success criteria (loaded into all AI contexts)
|
|
3
|
+
updated: 2024-12-21
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Project Vision
|
|
7
|
+
|
|
8
|
+
## The Goal
|
|
9
|
+
|
|
10
|
+
<!-- One sentence: What does this project achieve? Outcome-shaped, not task-shaped. -->
|
|
11
|
+
<!-- Good: "A real-time chat application with persistent message history" -->
|
|
12
|
+
<!-- Bad: "Build chat components and API endpoints" -->
|
|
13
|
+
|
|
14
|
+
## Success Criteria
|
|
15
|
+
|
|
16
|
+
<!-- How do we know the project is successful? List 3-7 observable outcomes. -->
|
|
17
|
+
<!-- Each should be verifiable by using the application, not by checking code. -->
|
|
18
|
+
|
|
19
|
+
1. **[Criterion 1]** - [Specific, measurable outcome]
|
|
20
|
+
2. **[Criterion 2]** - [Specific, measurable outcome]
|
|
21
|
+
3. **[Criterion 3]** - [Specific, measurable outcome]
|
|
22
|
+
|
|
23
|
+
## Target Users
|
|
24
|
+
|
|
25
|
+
<!-- Who will use this? What do they need? -->
|
|
26
|
+
|
|
27
|
+
- **Primary:** [User type and their core need]
|
|
28
|
+
- **Secondary:** [User type and their core need]
|
|
29
|
+
|
|
30
|
+
## Core Principles
|
|
31
|
+
|
|
32
|
+
<!-- Non-negotiable principles that guide all decisions -->
|
|
33
|
+
|
|
34
|
+
1. **[Principle 1]** - [Explanation]
|
|
35
|
+
2. **[Principle 2]** - [Explanation]
|
|
36
|
+
3. **[Principle 3]** - [Explanation]
|
|
37
|
+
|
|
38
|
+
## Current Phase
|
|
39
|
+
|
|
40
|
+
<!-- Where are we in the project lifecycle? -->
|
|
41
|
+
|
|
42
|
+
- **Status:** [Discovery / Planning / Implementation / Polish / Maintenance]
|
|
43
|
+
- **Milestone:** [Current milestone name]
|
|
44
|
+
- **Next Milestone:** [Next milestone name]
|
|
45
|
+
|
|
46
|
+
## Key Links
|
|
47
|
+
|
|
48
|
+
<!-- Important references -->
|
|
49
|
+
|
|
50
|
+
- **Repository:** [URL]
|
|
51
|
+
- **Documentation:** [URL]
|
|
52
|
+
- **Staging:** [URL]
|
|
53
|
+
- **Production:** [URL]
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
_Update this file when project direction or phase changes._
|
|
58
|
+
_AI uses this to maintain context across sessions and make decisions aligned with project goals._
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
---
|
|
2
|
+
purpose: Project roadmap with phases, milestones, and bead organization
|
|
3
|
+
updated: 2024-12-21
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Roadmap
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
<!-- High-level project breakdown -->
|
|
11
|
+
|
|
12
|
+
| Phase | Goal | Status | Beads |
|
|
13
|
+
| --------- | ------------------- | ------------- | ----- |
|
|
14
|
+
| [Phase 1] | [One-sentence goal] | [Not Started] | [#] |
|
|
15
|
+
| [Phase 2] | [One-sentence goal] | [Not Started] | [#] |
|
|
16
|
+
| [Phase 3] | [One-sentence goal] | [Not Started] | [#] |
|
|
17
|
+
|
|
18
|
+
## Phase 1: [Name]
|
|
19
|
+
|
|
20
|
+
**Goal:** [Outcome-shaped description]
|
|
21
|
+
|
|
22
|
+
**Success Criteria:**
|
|
23
|
+
|
|
24
|
+
- [ ] [Criterion 1]
|
|
25
|
+
- [ ] [Criterion 2]
|
|
26
|
+
- [ ] [Criterion 3]
|
|
27
|
+
|
|
28
|
+
**Beads:**
|
|
29
|
+
| ID | Title | Type | Status | Depends On |
|
|
30
|
+
|----|-------|------|--------|------------|
|
|
31
|
+
| br-xxx | [Title] | task | open | - |
|
|
32
|
+
| br-xxx | [Title] | task | open | br-xxx |
|
|
33
|
+
|
|
34
|
+
**Out of Scope:**
|
|
35
|
+
|
|
36
|
+
- [What's explicitly deferred to later phases]
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Phase 2: [Name]
|
|
41
|
+
|
|
42
|
+
**Goal:** [Outcome-shaped description]
|
|
43
|
+
|
|
44
|
+
**Success Criteria:**
|
|
45
|
+
|
|
46
|
+
- [ ] [Criterion 1]
|
|
47
|
+
- [ ] [Criterion 2]
|
|
48
|
+
|
|
49
|
+
**Beads:**
|
|
50
|
+
| ID | Title | Type | Status | Depends On |
|
|
51
|
+
|----|-------|------|--------|------------|
|
|
52
|
+
| br-xxx | [Title] | feature | open | Phase 1 |
|
|
53
|
+
|
|
54
|
+
**Dependencies:**
|
|
55
|
+
|
|
56
|
+
- Requires Phase 1 completion
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Phase 3: [Name]
|
|
61
|
+
|
|
62
|
+
**Goal:** [Outcome-shaped description]
|
|
63
|
+
|
|
64
|
+
**Success Criteria:**
|
|
65
|
+
|
|
66
|
+
- [ ] [Criterion 1]
|
|
67
|
+
|
|
68
|
+
**Beads:**
|
|
69
|
+
| ID | Title | Type | Status | Depends On |
|
|
70
|
+
|----|-------|------|--------|------------|
|
|
71
|
+
| br-xxx | [Title] | epic | open | Phase 2 |
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Legend
|
|
76
|
+
|
|
77
|
+
**Status:**
|
|
78
|
+
|
|
79
|
+
- `Not Started` - No work begun
|
|
80
|
+
- `In Progress` - Active development
|
|
81
|
+
- `Complete` - All beads closed
|
|
82
|
+
|
|
83
|
+
**Type:**
|
|
84
|
+
|
|
85
|
+
- `task` - Tactical, single-session work
|
|
86
|
+
- `feature` - New capability, multi-session
|
|
87
|
+
- `epic` - Cross-domain, significant scope
|
|
88
|
+
- `bug` - Fix for broken behavior
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
_Update this file when phases complete or roadmap changes._
|
|
93
|
+
_Use `/plan` command to create detailed plans for active phases._
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
---
|
|
2
|
+
purpose: Current project state, active decisions, blockers, and position tracking
|
|
3
|
+
updated: 2024-12-21
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# State
|
|
7
|
+
|
|
8
|
+
## Current Position
|
|
9
|
+
|
|
10
|
+
<!-- Where are we right now? What just happened? -->
|
|
11
|
+
|
|
12
|
+
**Active Bead:** br-xxx - [Title]
|
|
13
|
+
**Status:** [In Progress / Blocked / Review]
|
|
14
|
+
**Started:** [Date]
|
|
15
|
+
**Phase:** [Phase name from ROADMAP.md]
|
|
16
|
+
|
|
17
|
+
## Recent Completed Work
|
|
18
|
+
|
|
19
|
+
<!-- Last 3-5 completed beads -->
|
|
20
|
+
|
|
21
|
+
| Bead | Title | Completed | Summary |
|
|
22
|
+
| ------ | ------- | --------- | ------------------ |
|
|
23
|
+
| br-xxx | [Title] | [Date] | [One-line summary] |
|
|
24
|
+
| br-xxx | [Title] | [Date] | [One-line summary] |
|
|
25
|
+
|
|
26
|
+
## Active Decisions
|
|
27
|
+
|
|
28
|
+
<!-- Decisions made that affect current and future work -->
|
|
29
|
+
|
|
30
|
+
| Date | Decision | Rationale | Impact |
|
|
31
|
+
| ------ | ------------------ | --------- | ----------------- |
|
|
32
|
+
| [Date] | [What was decided] | [Why] | [What it affects] |
|
|
33
|
+
|
|
34
|
+
## Blockers
|
|
35
|
+
|
|
36
|
+
<!-- What's preventing progress? -->
|
|
37
|
+
|
|
38
|
+
| Bead | Blocker | Since | Owner |
|
|
39
|
+
| ------ | ------------------------ | ------ | ------------------- |
|
|
40
|
+
| br-xxx | [Description of blocker] | [Date] | [Who's responsible] |
|
|
41
|
+
|
|
42
|
+
## Open Questions
|
|
43
|
+
|
|
44
|
+
<!-- Questions that need answers before proceeding -->
|
|
45
|
+
|
|
46
|
+
| Question | Context | Blocking | Priority |
|
|
47
|
+
| ---------- | ------------------ | -------- | -------------- |
|
|
48
|
+
| [Question] | [Where it came up] | [Yes/No] | [High/Med/Low] |
|
|
49
|
+
|
|
50
|
+
## Context Notes
|
|
51
|
+
|
|
52
|
+
<!-- Important context that doesn't fit elsewhere -->
|
|
53
|
+
|
|
54
|
+
### Technical
|
|
55
|
+
|
|
56
|
+
- [Technical decision or constraint]
|
|
57
|
+
- [Pattern or convention established]
|
|
58
|
+
|
|
59
|
+
### Product
|
|
60
|
+
|
|
61
|
+
- [Product decision or direction]
|
|
62
|
+
- [User feedback or requirement]
|
|
63
|
+
|
|
64
|
+
### Process
|
|
65
|
+
|
|
66
|
+
- [Workflow change or improvement]
|
|
67
|
+
- [Team agreement or process]
|
|
68
|
+
|
|
69
|
+
## Next Actions
|
|
70
|
+
|
|
71
|
+
<!-- Immediate next steps -->
|
|
72
|
+
|
|
73
|
+
1. [ ] [Action item with owner if applicable]
|
|
74
|
+
2. [ ] [Action item]
|
|
75
|
+
3. [ ] [Action item]
|
|
76
|
+
|
|
77
|
+
## Session Handoff
|
|
78
|
+
|
|
79
|
+
<!-- For multi-session work, what's the state for the next session? -->
|
|
80
|
+
|
|
81
|
+
**Last Session:** [Date]
|
|
82
|
+
**Next Session Priority:** [What's most important to do next]
|
|
83
|
+
**Known Issues:** [Any issues to be aware of]
|
|
84
|
+
**Context Links:** [Relevant files, PRs, docs]
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
_Update this file at the end of each significant session or when state changes._
|
|
89
|
+
_This file is the "you are here" marker for the project._
|
|
@@ -44,6 +44,41 @@ This file is automatically injected into ALL AI prompts via `opencode.json` inst
|
|
|
44
44
|
- [Service 2: e.g., Resend for email]
|
|
45
45
|
- [Service 3: e.g., Sentry for error tracking]
|
|
46
46
|
|
|
47
|
+
## Context Budget Guidelines
|
|
48
|
+
|
|
49
|
+
**Quality Degradation Rule:** Target ~50% context per plan execution for consistent quality.
|
|
50
|
+
|
|
51
|
+
| Task Complexity | Max Tasks/Plan | Typical Context Usage |
|
|
52
|
+
| --------------- | -------------- | --------------------- |
|
|
53
|
+
| Simple (CRUD) | 3 | ~30-45% |
|
|
54
|
+
| Complex (auth) | 2 | ~40-50% |
|
|
55
|
+
| Very complex | 1-2 | ~30-50% |
|
|
56
|
+
|
|
57
|
+
**Split Signals:**
|
|
58
|
+
|
|
59
|
+
- More than 3 tasks → Create child plans
|
|
60
|
+
- Multiple subsystems → Separate plans
|
|
61
|
+
- > 5 file modifications per task → Split
|
|
62
|
+
- Discovery + implementation → Split
|
|
63
|
+
|
|
64
|
+
## Verification Commands
|
|
65
|
+
|
|
66
|
+
**Always run before claiming complete:**
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
# Type checking
|
|
70
|
+
[typecheck command, e.g., npm run typecheck]
|
|
71
|
+
|
|
72
|
+
# Linting
|
|
73
|
+
[lint command, e.g., npm run lint]
|
|
74
|
+
|
|
75
|
+
# Testing
|
|
76
|
+
[test command, e.g., npm test]
|
|
77
|
+
|
|
78
|
+
# Building
|
|
79
|
+
[build command, e.g., npm run build]
|
|
80
|
+
```
|
|
81
|
+
|
|
47
82
|
---
|
|
48
83
|
|
|
49
84
|
_Update this file when tech stack or constraints change._
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
---
|
|
2
|
+
purpose: Project vision, success criteria, and core principles
|
|
3
|
+
updated: 2026-02-12
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# OpenCodeKit
|
|
7
|
+
|
|
8
|
+
## Vision
|
|
9
|
+
|
|
10
|
+
A project scaffolding tool that generates OpenCode-ready project templates.
|
|
11
|
+
|
|
12
|
+
OpenCodeKit (`ock`) enables developers to bootstrap AI-assisted development environments with all essential configurations, skills, commands, and integrations pre-configured and validated.
|
|
13
|
+
|
|
14
|
+
## Success Criteria
|
|
15
|
+
|
|
16
|
+
- [ ] Users can `ock init` and get a working OpenCode project in under 60 seconds
|
|
17
|
+
- [ ] Generated projects include all essential files (AGENTS.md, skills, commands, memory)
|
|
18
|
+
- [ ] 100% of generated templates pass validation (typecheck, lint)
|
|
19
|
+
- [ ] Templates are customizable through CLI prompts or config
|
|
20
|
+
- [ ] Integration with beads for task tracking works out-of-the-box
|
|
21
|
+
|
|
22
|
+
## Target Users
|
|
23
|
+
|
|
24
|
+
### Primary
|
|
25
|
+
|
|
26
|
+
- **Solo developers** setting up AI-assisted workflows for personal projects
|
|
27
|
+
- **Teams** standardizing their OpenCode configuration across multiple projects
|
|
28
|
+
|
|
29
|
+
### User Needs
|
|
30
|
+
|
|
31
|
+
- Quick setup without manual configuration
|
|
32
|
+
- Consistent, validated project structures
|
|
33
|
+
- Customizable templates for different use cases
|
|
34
|
+
- Integrated task tracking from day one
|
|
35
|
+
|
|
36
|
+
## Core Principles
|
|
37
|
+
|
|
38
|
+
1. **Convention over configuration** - Sensible defaults, minimal setup required
|
|
39
|
+
2. **Minimal but complete** - Include only essential files, no bloat
|
|
40
|
+
3. **Extensible** - Easy to add custom skills, commands, and templates
|
|
41
|
+
4. **Validated by default** - All generated projects pass typecheck and lint
|
|
42
|
+
5. **Git-backed** - All state and tracking integrated with git workflow
|
|
43
|
+
|
|
44
|
+
## Tech Stack
|
|
45
|
+
|
|
46
|
+
- **Runtime:** Bun >= 1.3.2
|
|
47
|
+
- **Language:** TypeScript (ESNext, strict mode)
|
|
48
|
+
- **Build:** `bun build` + rsync for template bundling
|
|
49
|
+
- **CLI Framework:** cac
|
|
50
|
+
- **UI Prompts:** @clack/prompts
|
|
51
|
+
- **Validation:** zod
|
|
52
|
+
- **Task Tracking:** beads_rust (br)
|
|
53
|
+
|
|
54
|
+
## Current Phase
|
|
55
|
+
|
|
56
|
+
**Scale** - Core complete, adding advanced features.
|
|
57
|
+
|
|
58
|
+
See [roadmap.md](./roadmap.md) for phase details and [state.md](./state.md) for current position.
|
|
59
|
+
|
|
60
|
+
## Architecture
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
src/
|
|
64
|
+
├── index.ts # CLI entry point
|
|
65
|
+
├── commands/ # CLI commands (init, etc.)
|
|
66
|
+
├── utils/ # Shared utilities
|
|
67
|
+
└── validation/ # Validation scripts
|
|
68
|
+
|
|
69
|
+
dist/
|
|
70
|
+
├── index.js # Built CLI
|
|
71
|
+
└── template/ # Bundled .opencode/ template
|
|
72
|
+
|
|
73
|
+
.opencode/
|
|
74
|
+
├── agent/ # Agent definitions
|
|
75
|
+
├── command/ # OpenCode commands
|
|
76
|
+
├── skill/ # Reusable skills
|
|
77
|
+
├── tool/ # Custom tools
|
|
78
|
+
└── memory/ # Project memory
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Key Files
|
|
82
|
+
|
|
83
|
+
| File | Purpose |
|
|
84
|
+
| ------------- | --------------------------- |
|
|
85
|
+
| AGENTS.md | Project rules for AI agents |
|
|
86
|
+
| package.json | Dependencies and scripts |
|
|
87
|
+
| build.ts | Build configuration |
|
|
88
|
+
| tsconfig.json | TypeScript configuration |
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
_Update this file when vision, success criteria, or principles change._
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
---
|
|
2
|
+
purpose: Project roadmap with phases, milestones, and bead organization
|
|
3
|
+
updated: 2026-02-12
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Roadmap
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
| Phase | Goal | Status | Beads |
|
|
11
|
+
| ------ | ------------------------------------------------- | ----------- | ----- |
|
|
12
|
+
| MVP | Core `ock init` command with basic template | Complete | [#] |
|
|
13
|
+
| Extend | Additional commands (`/ship`, `/plan`, `/resume`) | Complete | [#] |
|
|
14
|
+
| Polish | Error handling, docs, validation improvements | Complete | [#] |
|
|
15
|
+
| Scale | Plugin system, custom templates, advanced config | In Progress | [#] |
|
|
16
|
+
|
|
17
|
+
## Phase 1: MVP
|
|
18
|
+
|
|
19
|
+
**Goal:** Users can run `ock init` to generate a working OpenCode project template.
|
|
20
|
+
|
|
21
|
+
**Success Criteria:**
|
|
22
|
+
|
|
23
|
+
- [x] `ock init` command creates project structure
|
|
24
|
+
- [x] Generated files include AGENTS.md, skills, commands, memory
|
|
25
|
+
- [x] Templates pass typecheck and lint
|
|
26
|
+
- [x] Basic CLI prompts for project configuration
|
|
27
|
+
|
|
28
|
+
**Beads:**
|
|
29
|
+
|
|
30
|
+
| ID | Title | Type | Status | Depends On |
|
|
31
|
+
| --- | ----------------- | ------- | ------ | ---------- |
|
|
32
|
+
| - | Core init command | feature | closed | - |
|
|
33
|
+
| - | Template bundling | task | closed | - |
|
|
34
|
+
| - | CLI prompts | task | closed | - |
|
|
35
|
+
|
|
36
|
+
**Out of Scope:**
|
|
37
|
+
|
|
38
|
+
- Advanced customization
|
|
39
|
+
- Plugin system
|
|
40
|
+
- Multiple template options
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Phase 2: Extend
|
|
45
|
+
|
|
46
|
+
**Goal:** Add essential OpenCode commands for common workflows.
|
|
47
|
+
|
|
48
|
+
**Success Criteria:**
|
|
49
|
+
|
|
50
|
+
- [x] `/ship` command for deployment workflows
|
|
51
|
+
- [x] `/plan` command for implementation planning
|
|
52
|
+
- [x] `/resume` command for continuing work
|
|
53
|
+
- [x] `/handoff` command for session handoffs
|
|
54
|
+
- [x] `/status` command for project state
|
|
55
|
+
|
|
56
|
+
**Beads:**
|
|
57
|
+
|
|
58
|
+
| ID | Title | Type | Status | Depends On |
|
|
59
|
+
| --- | --------------- | ------- | ------ | ---------- |
|
|
60
|
+
| - | Ship command | feature | closed | MVP |
|
|
61
|
+
| - | Plan command | feature | closed | MVP |
|
|
62
|
+
| - | Resume command | feature | closed | MVP |
|
|
63
|
+
| - | Handoff command | feature | closed | MVP |
|
|
64
|
+
| - | Status command | feature | closed | MVP |
|
|
65
|
+
|
|
66
|
+
**Dependencies:**
|
|
67
|
+
|
|
68
|
+
- Requires MVP completion
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Phase 3: Polish
|
|
73
|
+
|
|
74
|
+
**Goal:** Improve quality, documentation, and error handling.
|
|
75
|
+
|
|
76
|
+
**Success Criteria:**
|
|
77
|
+
|
|
78
|
+
- [x] Comprehensive error messages with actionable guidance
|
|
79
|
+
- [x] Documentation for all commands
|
|
80
|
+
- [x] Validation scripts for template integrity
|
|
81
|
+
- [x] Improved CLI UX with progress indicators
|
|
82
|
+
|
|
83
|
+
**Beads:**
|
|
84
|
+
|
|
85
|
+
| ID | Title | Type | Status | Depends On |
|
|
86
|
+
| --- | ------------------- | ---- | ------ | ---------- |
|
|
87
|
+
| - | Error handling | task | closed | Extend |
|
|
88
|
+
| - | Documentation | task | closed | Extend |
|
|
89
|
+
| - | Validation scripts | task | closed | Extend |
|
|
90
|
+
| - | CLI UX improvements | task | closed | Extend |
|
|
91
|
+
|
|
92
|
+
**Dependencies:**
|
|
93
|
+
|
|
94
|
+
- Requires Extend completion
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## Phase 4: Scale
|
|
99
|
+
|
|
100
|
+
**Goal:** Add advanced features for power users and customization.
|
|
101
|
+
|
|
102
|
+
**Success Criteria:**
|
|
103
|
+
|
|
104
|
+
- [ ] Plugin system for extending CLI functionality
|
|
105
|
+
- [ ] Custom template support (user-defined templates)
|
|
106
|
+
- [ ] Advanced configuration options
|
|
107
|
+
- [ ] Template marketplace or sharing mechanism
|
|
108
|
+
|
|
109
|
+
**Beads:**
|
|
110
|
+
|
|
111
|
+
| ID | Title | Type | Status | Depends On |
|
|
112
|
+
| --- | ---------------- | ------- | ------ | ------------- |
|
|
113
|
+
| - | Plugin system | epic | open | Polish |
|
|
114
|
+
| - | Custom templates | feature | open | Polish |
|
|
115
|
+
| - | Advanced config | task | open | Polish |
|
|
116
|
+
| - | Template sharing | epic | open | Plugin system |
|
|
117
|
+
|
|
118
|
+
**Dependencies:**
|
|
119
|
+
|
|
120
|
+
- Requires Polish completion
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Legend
|
|
125
|
+
|
|
126
|
+
**Status:**
|
|
127
|
+
|
|
128
|
+
- `Not Started` - No work begun
|
|
129
|
+
- `In Progress` - Active development
|
|
130
|
+
- `Complete` - All beads closed
|
|
131
|
+
|
|
132
|
+
**Type:**
|
|
133
|
+
|
|
134
|
+
- `task` - Tactical, single-session work
|
|
135
|
+
- `feature` - New capability, multi-session
|
|
136
|
+
- `epic` - Cross-domain, significant scope
|
|
137
|
+
- `bug` - Fix for broken behavior
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
_Update this file when phases complete or roadmap changes._
|
|
142
|
+
_Use `/plan` command to create detailed plans for active phases._
|