opencodekit 0.12.6 → 0.12.7
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 +5 -17
- package/dist/template/.opencode/agent/build.md +32 -21
- package/dist/template/.opencode/agent/explore.md +27 -16
- package/dist/template/.opencode/agent/planner.md +103 -63
- package/dist/template/.opencode/agent/review.md +31 -23
- package/dist/template/.opencode/agent/rush.md +27 -19
- package/dist/template/.opencode/agent/scout.md +27 -19
- package/dist/template/.opencode/agent/vision.md +29 -19
- package/dist/template/.opencode/command/accessibility-check.md +1 -0
- package/dist/template/.opencode/command/analyze-mockup.md +1 -0
- package/dist/template/.opencode/command/analyze-project.md +2 -1
- package/dist/template/.opencode/command/brainstorm.md +2 -1
- package/dist/template/.opencode/command/design-audit.md +1 -0
- package/dist/template/.opencode/command/finish.md +39 -4
- package/dist/template/.opencode/command/implement.md +26 -6
- package/dist/template/.opencode/command/init.md +1 -0
- package/dist/template/.opencode/command/pr.md +28 -1
- package/dist/template/.opencode/command/research-ui.md +1 -0
- package/dist/template/.opencode/command/research.md +1 -0
- package/dist/template/.opencode/command/review-codebase.md +1 -0
- package/dist/template/.opencode/command/status.md +3 -2
- package/dist/template/.opencode/command/summarize.md +2 -1
- package/dist/template/.opencode/command/ui-review.md +1 -0
- package/dist/template/.opencode/memory/project/architecture.md +59 -6
- package/dist/template/.opencode/memory/project/commands.md +20 -164
- package/dist/template/.opencode/memory/user.md +24 -7
- package/dist/template/.opencode/opencode.json +496 -496
- package/dist/template/.opencode/package.json +1 -1
- package/dist/template/.opencode/skill/condition-based-waiting/example.ts +71 -65
- package/dist/template/.opencode/tool/memory-read.ts +57 -57
- package/dist/template/.opencode/tool/memory-update.ts +53 -53
- package/dist/template/.opencode/tsconfig.json +19 -19
- package/package.json +4 -16
- package/dist/template/.opencode/command.backup/analyze-project.md +0 -465
- package/dist/template/.opencode/command.backup/finish.md +0 -167
- package/dist/template/.opencode/command.backup/implement.md +0 -143
- package/dist/template/.opencode/command.backup/pr.md +0 -252
- package/dist/template/.opencode/command.backup/status.md +0 -376
- package/dist/template/.opencode/lib/lsp/client.ts +0 -614
- package/dist/template/.opencode/lib/lsp/config.ts +0 -199
- package/dist/template/.opencode/lib/lsp/constants.ts +0 -339
- package/dist/template/.opencode/lib/lsp/types.ts +0 -138
- package/dist/template/.opencode/lib/lsp/utils.ts +0 -190
- package/dist/template/.opencode/memory/project/SHELL_OUTPUT_MIGRATION_PLAN.md +0 -551
|
@@ -3,6 +3,7 @@ description: Analyze UI mockup or screenshot with structured output
|
|
|
3
3
|
argument-hint: "<image-path> [focus: layout|colors|components|typography|a11y|all] [--quick|--deep] [--compare <file>]"
|
|
4
4
|
agent: vision
|
|
5
5
|
model: proxypal/gemini-3-flash-preview
|
|
6
|
+
subtask: true
|
|
6
7
|
---
|
|
7
8
|
|
|
8
9
|
# Analyze Mockup: $ARGUMENTS
|
|
@@ -76,11 +76,38 @@ Read the spec and check each criterion:
|
|
|
76
76
|
|
|
77
77
|
For each success criterion listed, run its verification. All must pass. If something's missing, go back and implement it.
|
|
78
78
|
|
|
79
|
-
## Commit
|
|
79
|
+
## Review Changes (Ask Before Commit)
|
|
80
|
+
|
|
81
|
+
Show what would be committed:
|
|
80
82
|
|
|
81
83
|
```bash
|
|
82
84
|
git add -A
|
|
83
85
|
git status
|
|
86
|
+
git diff --cached --stat
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
**Present the changes to the user:**
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
Ready to Commit
|
|
93
|
+
━━━━━━━━━━━━━━
|
|
94
|
+
|
|
95
|
+
Files changed:
|
|
96
|
+
[list from git status]
|
|
97
|
+
|
|
98
|
+
Summary: $ARGUMENTS - [what was done]
|
|
99
|
+
|
|
100
|
+
Would you like me to:
|
|
101
|
+
1. Commit these changes
|
|
102
|
+
2. Show full diff first
|
|
103
|
+
3. Skip commit (I'll review manually)
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
**Wait for user confirmation before proceeding.**
|
|
107
|
+
|
|
108
|
+
If user confirms commit:
|
|
109
|
+
|
|
110
|
+
```bash
|
|
84
111
|
git commit -m "$ARGUMENTS: [what was done]
|
|
85
112
|
|
|
86
113
|
- [change 1]
|
|
@@ -89,14 +116,22 @@ git commit -m "$ARGUMENTS: [what was done]
|
|
|
89
116
|
Closes: $ARGUMENTS"
|
|
90
117
|
```
|
|
91
118
|
|
|
92
|
-
## Close The Task
|
|
119
|
+
## Close The Task (Ask First)
|
|
120
|
+
|
|
121
|
+
**Ask the user:**
|
|
122
|
+
|
|
123
|
+
```
|
|
124
|
+
Close bead $ARGUMENTS?
|
|
125
|
+
- Yes, close it
|
|
126
|
+
- No, keep it open for now
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
If user confirms:
|
|
93
130
|
|
|
94
131
|
```bash
|
|
95
132
|
bd close $ARGUMENTS --reason "Completed: [1-line summary]"
|
|
96
133
|
```
|
|
97
134
|
|
|
98
|
-
This closes the task. Sync separately if needed.
|
|
99
|
-
|
|
100
135
|
## Create Review (Optional But Recommended)
|
|
101
136
|
|
|
102
137
|
If this was non-trivial work, document what happened:
|
|
@@ -112,21 +112,41 @@ npm test && npm run type-check
|
|
|
112
112
|
|
|
113
113
|
## Complete
|
|
114
114
|
|
|
115
|
-
If all gates pass:
|
|
115
|
+
If all gates pass, show what was done:
|
|
116
116
|
|
|
117
117
|
```bash
|
|
118
118
|
git add -A
|
|
119
|
-
git
|
|
120
|
-
|
|
119
|
+
git status
|
|
120
|
+
git diff --cached --stat
|
|
121
121
|
```
|
|
122
122
|
|
|
123
|
-
|
|
123
|
+
**Present to user:**
|
|
124
124
|
|
|
125
125
|
```
|
|
126
|
-
|
|
126
|
+
Implementation Complete: $ARGUMENTS
|
|
127
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
127
128
|
|
|
129
|
+
Tests: Pass ✓
|
|
128
130
|
Changes: [files modified]
|
|
129
|
-
|
|
131
|
+
|
|
132
|
+
Would you like me to:
|
|
133
|
+
1. Commit these changes
|
|
134
|
+
2. Show full diff first
|
|
135
|
+
3. Skip commit (I'll review manually)
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
**Wait for user confirmation before committing.**
|
|
139
|
+
|
|
140
|
+
If user confirms:
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
git commit -m "$ARGUMENTS: [summary]"
|
|
144
|
+
bd sync
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
Suggest next step:
|
|
148
|
+
|
|
149
|
+
```
|
|
130
150
|
Next: /finish $ARGUMENTS
|
|
131
151
|
```
|
|
132
152
|
|
|
@@ -111,7 +111,34 @@ Extract from artifacts:
|
|
|
111
111
|
- **Estimation Accuracy** from review.md
|
|
112
112
|
- **Success Criteria** verification
|
|
113
113
|
|
|
114
|
-
## Phase 4: Push
|
|
114
|
+
## Phase 4: Review Before Push
|
|
115
|
+
|
|
116
|
+
Show what will be pushed:
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
git log origin/$(git branch --show-current)..HEAD --oneline 2>/dev/null || git log --oneline -5
|
|
120
|
+
git diff --stat origin/$(git branch --show-current)..HEAD 2>/dev/null || git diff --stat HEAD~3..HEAD
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
**Present to user:**
|
|
124
|
+
|
|
125
|
+
```
|
|
126
|
+
Ready to Push & Create PR
|
|
127
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
128
|
+
|
|
129
|
+
Branch: [current branch]
|
|
130
|
+
Commits: [N commits ahead of origin]
|
|
131
|
+
|
|
132
|
+
Would you like me to:
|
|
133
|
+
1. Push and create PR
|
|
134
|
+
2. Push and create draft PR
|
|
135
|
+
3. Show full diff first
|
|
136
|
+
4. Skip (I'll push manually)
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
**Wait for user confirmation before proceeding.**
|
|
140
|
+
|
|
141
|
+
If user confirms, push:
|
|
115
142
|
|
|
116
143
|
```bash
|
|
117
144
|
git push -u origin $(git branch --show-current)
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
description: Comprehensive project and session status dashboard
|
|
3
3
|
argument-hint: "[--full] [--health] [--sessions] [--git]"
|
|
4
4
|
agent: explore
|
|
5
|
+
subtask: true
|
|
5
6
|
---
|
|
6
7
|
|
|
7
8
|
# Status Dashboard
|
|
@@ -32,8 +33,8 @@ Run all status checks simultaneously:
|
|
|
32
33
|
|
|
33
34
|
```typescript
|
|
34
35
|
// Custom tools (message inbox, locks)
|
|
35
|
-
bd-inbox({ n: 5, unread: true, to: "all" });
|
|
36
|
-
bd-release(); // Lists active locks when called with no args
|
|
36
|
+
bd - inbox({ n: 5, unread: true, to: "all" });
|
|
37
|
+
bd - release(); // Lists active locks when called with no args
|
|
37
38
|
|
|
38
39
|
// Built-in tools
|
|
39
40
|
list_sessions({ project: "current", since: "today", limit: 5 });
|
|
@@ -1,26 +1,79 @@
|
|
|
1
1
|
---
|
|
2
2
|
purpose: Key modules, directory structure, architectural decisions
|
|
3
|
-
updated:
|
|
3
|
+
updated: 2025-01-06
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Project Architecture
|
|
7
7
|
|
|
8
8
|
## Directory Structure
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
```
|
|
11
|
+
src/
|
|
12
|
+
index.ts # CLI entry point (cac-based)
|
|
13
|
+
commands/
|
|
14
|
+
init.ts # ock init - scaffolds .opencode/
|
|
15
|
+
agent.ts # ock agent - manage agents
|
|
16
|
+
skill.ts # ock skill - manage skills
|
|
17
|
+
config.ts # ock config - edit opencode.json
|
|
18
|
+
upgrade.ts # ock upgrade - update templates
|
|
19
|
+
menu.ts # Interactive menu, doctor, status
|
|
20
|
+
completion.ts # Shell completions
|
|
21
|
+
utils/
|
|
22
|
+
logger.ts # Logging utilities
|
|
23
|
+
errors.ts # Error handling
|
|
24
|
+
safe-prompts.ts # @clack/prompts wrappers
|
|
25
|
+
|
|
26
|
+
dist/
|
|
27
|
+
index.js # Built CLI bundle
|
|
28
|
+
template/.opencode/ # Template files copied during init
|
|
29
|
+
|
|
30
|
+
.opencode/ # OpenCode configuration (source of truth)
|
|
31
|
+
agent/ # Agent definitions
|
|
32
|
+
command/ # Workflow commands
|
|
33
|
+
skills/ # Skills library
|
|
34
|
+
tool/ # Custom tools (memory-*, bd-*)
|
|
35
|
+
plugin/ # OpenCode plugins
|
|
36
|
+
memory/ # Persistent knowledge
|
|
37
|
+
|
|
38
|
+
.beads/ # Task tracking database
|
|
39
|
+
```
|
|
11
40
|
|
|
12
41
|
## Key Modules
|
|
13
42
|
|
|
14
|
-
|
|
43
|
+
### CLI (src/index.ts)
|
|
44
|
+
|
|
45
|
+
Entry point using `cac` library. Registers commands, parses args, handles errors.
|
|
46
|
+
|
|
47
|
+
### Init Command (src/commands/init.ts)
|
|
48
|
+
|
|
49
|
+
Core command - copies `.opencode/` template from dist to target project.
|
|
50
|
+
|
|
51
|
+
### Build Process
|
|
52
|
+
|
|
53
|
+
1. `bun build` bundles src/index.ts → dist/index.js
|
|
54
|
+
2. rsync copies .opencode/ → dist/template/.opencode/
|
|
55
|
+
3. Published package includes dist/ only
|
|
15
56
|
|
|
16
57
|
## Data Flow
|
|
17
58
|
|
|
18
|
-
|
|
59
|
+
```
|
|
60
|
+
User runs: npx opencodekit init
|
|
61
|
+
→ dist/index.js executes
|
|
62
|
+
→ init command copies dist/template/.opencode/ to ./.opencode/
|
|
63
|
+
→ User has full OpenCode setup
|
|
64
|
+
```
|
|
19
65
|
|
|
20
66
|
## External Dependencies
|
|
21
67
|
|
|
22
|
-
|
|
68
|
+
- **cac**: CLI framework
|
|
69
|
+
- **@clack/prompts**: Interactive prompts
|
|
70
|
+
- **zod**: Schema validation
|
|
71
|
+
- **beads-village**: Task tracking integration
|
|
72
|
+
- **@opencode-ai/plugin**: Plugin SDK
|
|
23
73
|
|
|
24
74
|
## Architectural Decisions
|
|
25
75
|
|
|
26
|
-
|
|
76
|
+
1. **Bun-first**: Uses Bun for speed, but builds to Node-compatible output
|
|
77
|
+
2. **Template bundling**: .opencode/ copied at build time, not runtime
|
|
78
|
+
3. **No transpilation**: TypeScript bundled directly by Bun
|
|
79
|
+
4. **Colocated tests**: Tests live next to source files (*.test.ts)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
purpose: Build, test, lint, deploy commands discovered for this project
|
|
3
|
-
updated: 2025-01-
|
|
3
|
+
updated: 2025-01-06
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Project Commands
|
|
@@ -8,190 +8,46 @@ updated: 2025-01-05
|
|
|
8
8
|
## Build
|
|
9
9
|
|
|
10
10
|
```bash
|
|
11
|
-
npm run
|
|
11
|
+
npm run build # Bundles src/index.ts + copies .opencode/ to dist/template/
|
|
12
|
+
npm run typecheck # TypeScript type checking only (no emit)
|
|
12
13
|
```
|
|
13
14
|
|
|
14
15
|
## Test
|
|
15
16
|
|
|
16
17
|
```bash
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
bun test # Run all tests
|
|
19
|
+
bun test src/commands/init.ts # Run single test file
|
|
20
|
+
bun test --watch # Watch mode
|
|
20
21
|
```
|
|
21
22
|
|
|
22
23
|
## Lint
|
|
23
24
|
|
|
24
|
-
<!-- npm run lint, ruff check, etc. -->
|
|
25
|
-
|
|
26
|
-
## Deploy
|
|
27
|
-
|
|
28
|
-
<!-- Deployment commands if applicable -->
|
|
29
|
-
|
|
30
|
-
## OpenCode Configuration
|
|
31
|
-
|
|
32
|
-
### Environment Variables
|
|
33
|
-
|
|
34
25
|
```bash
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
OPENCODE_DISABLE_LSP_DOWNLOAD=true # Skip auto-downloading LSP servers
|
|
38
|
-
OPENCODE_DISABLE_AUTOCOMPACT=true # Disable automatic session compaction
|
|
39
|
-
OPENCODE_DISABLE_PRUNE=true # Disable DCP pruning
|
|
26
|
+
npm run lint # Check with Biome
|
|
27
|
+
npm run lint:fix # Auto-fix issues
|
|
40
28
|
```
|
|
41
29
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
1. Global: `~/.config/opencode/opencode.json` or `dcp.jsonc`
|
|
45
|
-
2. Config Dir: `$OPENCODE_CONFIG_DIR/opencode.json`
|
|
46
|
-
3. Project: `.opencode/opencode.json` (highest priority)
|
|
30
|
+
## Development
|
|
47
31
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
"nudgeFrequency": 8 // LLM nudged every 8 tool calls (default: 10)
|
|
32
|
+
```bash
|
|
33
|
+
bun run src/index.ts # Run CLI directly
|
|
34
|
+
npm run dev # Same as above
|
|
35
|
+
bun build src/index.ts --compile --outfile ock # Compile to binary
|
|
53
36
|
```
|
|
54
37
|
|
|
55
|
-
## Beads
|
|
56
|
-
|
|
57
|
-
The `bd` command is your issue tracker. JSONL is source of truth, SQLite is cache.
|
|
58
|
-
|
|
59
|
-
### Essential Commands
|
|
38
|
+
## Beads (Task Tracking)
|
|
60
39
|
|
|
61
40
|
```bash
|
|
62
|
-
bd ready #
|
|
41
|
+
bd ready # Find unblocked tasks
|
|
63
42
|
bd list --status=open # All open issues
|
|
64
43
|
bd show <id> # Full details
|
|
65
|
-
bd create "Title" -t task -p 2 # Create
|
|
44
|
+
bd create "Title" -t task -p 2 # Create task
|
|
66
45
|
bd update <id> --status in_progress # Claim work
|
|
67
46
|
bd close <id> --reason "Done" # Complete
|
|
68
|
-
bd sync #
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
### Dependencies
|
|
72
|
-
|
|
73
|
-
```bash
|
|
74
|
-
bd dep add <child> <parent> --type blocks # Child blocked until parent closes
|
|
75
|
-
bd dep tree <id> # Visualize dependency chain
|
|
76
|
-
bd blocked # Show all blocked issues
|
|
47
|
+
bd sync # Sync with git (always run at session end)
|
|
77
48
|
```
|
|
78
49
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
```bash
|
|
82
|
-
bd list --status in_progress # See what's claimed by others
|
|
83
|
-
git pull && bd import # Get latest from team
|
|
84
|
-
bd sync # Push your changes
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
### Priority Levels
|
|
88
|
-
|
|
89
|
-
- **P0** - Critical (security, data loss)
|
|
90
|
-
- **P1** - High (major features, important bugs)
|
|
91
|
-
- **P2** - Medium (default)
|
|
92
|
-
- **P3** - Low
|
|
93
|
-
- **P4** - Backlog
|
|
94
|
-
|
|
95
|
-
### Sandbox Mode
|
|
96
|
-
|
|
97
|
-
If running in restricted environment (Claude Code, etc.):
|
|
98
|
-
|
|
99
|
-
```bash
|
|
100
|
-
bd --sandbox ready
|
|
101
|
-
# Or: bd --no-daemon --no-auto-flush --no-auto-import list
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
## Beads Plugin Tools (For OpenCode Agents)
|
|
105
|
-
|
|
106
|
-
This project's plugin (`.opencode/plugin/beads.ts`) provides typed tools that wrap the CLI.
|
|
107
|
-
|
|
108
|
-
### Session Lifecycle
|
|
109
|
-
|
|
110
|
-
```typescript
|
|
111
|
-
bd_init({ role: "build" }); // Join workspace - MUST call first
|
|
112
|
-
bd_claim(); // Get next ready task, mark in_progress
|
|
113
|
-
bd_reserve({ paths: ["src/foo.ts"] }); // Lock files before editing
|
|
114
|
-
// ... do work ...
|
|
115
|
-
bd_done({ id: "bd-xxx", msg: "Done" }); // Close + release locks + sync
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
### Task Management
|
|
119
|
-
|
|
120
|
-
```typescript
|
|
121
|
-
bd_add({ title: "Task", pri: 2, type: "task" }); // Create issue
|
|
122
|
-
bd_show({ id: "bd-xxx" }); // Get full details
|
|
123
|
-
bd_ls({ status: "open", limit: 10 }); // List issues
|
|
124
|
-
bd_ready(); // Ready-to-work tasks
|
|
125
|
-
bd_update({ id: "bd-xxx", status: "in_progress" }); // Update issue
|
|
126
|
-
bd_search({ query: "auth" }); // Search issues
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
### File Locking (Plugin-Only)
|
|
130
|
-
|
|
131
|
-
```typescript
|
|
132
|
-
bd_reserve({ paths: ["src/a.ts", "src/b.ts"], ttl: 600 }); // Lock files
|
|
133
|
-
bd_reservations(); // List active locks
|
|
134
|
-
bd_release({ paths: ["src/a.ts"] }); // Release specific
|
|
135
|
-
bd_release(); // Release all
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
### Messaging (Plugin-Only)
|
|
139
|
-
|
|
140
|
-
```typescript
|
|
141
|
-
bd_msg({ subj: "Done", to: "all", global: true }); // Broadcast
|
|
142
|
-
bd_inbox({ n: 5, unread: true }); // Check messages
|
|
143
|
-
bd_ack({ ids: ["msg-abc", "msg-def"] }); // Mark messages as read
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
### Agent Coordination (Plugin-Only)
|
|
147
|
-
|
|
148
|
-
```typescript
|
|
149
|
-
bd_whois(); // See all agents and their current work
|
|
150
|
-
bd_whois({ agent: "build-abc" }); // Lookup specific agent
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
### Maintenance
|
|
154
|
-
|
|
155
|
-
```typescript
|
|
156
|
-
bd_sync(); // Sync with git
|
|
157
|
-
bd_status({ include_agents: true }); // Workspace overview
|
|
158
|
-
bd_doctor(); // Check database health
|
|
159
|
-
bd_cleanup({ days: 7 }); // Remove old closed issues
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
## Beads Workflow
|
|
163
|
-
|
|
164
|
-
### Start Work
|
|
165
|
-
|
|
166
|
-
```bash
|
|
167
|
-
bd ready # Find unblocked task
|
|
168
|
-
bd update bd-xxx --status in_progress # Claim it
|
|
169
|
-
git checkout -b bd-xxx # Create branch
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
### During Work
|
|
173
|
-
|
|
174
|
-
```bash
|
|
175
|
-
git commit -m "WIP: bd-xxx - [progress]" # Checkpoint commits
|
|
176
|
-
bd sync # Sync beads state
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
### End Session
|
|
180
|
-
|
|
181
|
-
```bash
|
|
182
|
-
git add -A && git commit -m "bd-xxx: [summary]"
|
|
183
|
-
bd close bd-xxx --reason "Completed: [what]"
|
|
184
|
-
bd sync
|
|
185
|
-
git push
|
|
186
|
-
```
|
|
187
|
-
|
|
188
|
-
### Handoff (If Not Finishing)
|
|
189
|
-
|
|
190
|
-
```bash
|
|
191
|
-
git commit -m "WIP: bd-xxx - [where stopped]"
|
|
192
|
-
# Create handoff in .beads/artifacts/bd-xxx/handoffs/
|
|
193
|
-
bd sync
|
|
194
|
-
git push
|
|
195
|
-
```
|
|
50
|
+
## CI/CD
|
|
196
51
|
|
|
197
|
-
|
|
52
|
+
- GitHub Actions workflow at `.github/workflows/opencode.yml`
|
|
53
|
+
- Triggered by `/oc` or `/opencode` comments on issues/PRs
|
|
@@ -1,21 +1,38 @@
|
|
|
1
1
|
---
|
|
2
2
|
purpose: User identity, preferences, communication style
|
|
3
|
-
updated:
|
|
3
|
+
updated: 2025-01-06
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# User Profile
|
|
7
7
|
|
|
8
8
|
## Identity
|
|
9
|
-
|
|
9
|
+
|
|
10
|
+
- Name: huynhgiabuu
|
|
11
|
+
- Git email: buub1309120@gmail.com
|
|
10
12
|
|
|
11
13
|
## Communication Preferences
|
|
12
|
-
|
|
14
|
+
|
|
15
|
+
- Style: Detailed responses preferred
|
|
16
|
+
- Explanations welcome when helpful
|
|
13
17
|
|
|
14
18
|
## Workflow Preferences
|
|
15
|
-
|
|
19
|
+
|
|
20
|
+
- Git commits: Ask first before committing
|
|
21
|
+
- Beads updates: Ask first before modifying task state
|
|
22
|
+
- Auto-actions: Disabled - always confirm before state changes
|
|
16
23
|
|
|
17
24
|
## Technical Preferences
|
|
18
|
-
<!-- Languages, frameworks, patterns they favor -->
|
|
19
25
|
|
|
20
|
-
|
|
21
|
-
|
|
26
|
+
- Runtime: Bun
|
|
27
|
+
- Language: TypeScript
|
|
28
|
+
- Linter: Biome
|
|
29
|
+
|
|
30
|
+
## Rules to Always Follow
|
|
31
|
+
|
|
32
|
+
- Run `npm run lint:fix` before any commit
|
|
33
|
+
- Validate changes with `npm run typecheck`
|
|
34
|
+
- Don't modify dist/ directly (it's built output)
|
|
35
|
+
- Ask before adding new dependencies
|
|
36
|
+
- Ask before changing .opencode/ structure
|
|
37
|
+
- Never commit secrets or .env files
|
|
38
|
+
- Never force push to main
|