micode 0.1.0 → 0.2.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/README.md CHANGED
@@ -46,8 +46,11 @@ Output: `thoughts/shared/research/YYYY-MM-DD-{topic}.md`
46
46
 
47
47
  ### 3. Plan
48
48
 
49
- Create implementation plan with phases and verification steps.
49
+ Transform validated designs into comprehensive implementation plans.
50
50
 
51
+ - Bite-sized tasks (2-5 minutes each)
52
+ - Exact file paths, complete code examples
53
+ - TDD workflow: failing test → verify fail → implement → verify pass → commit
51
54
  - Get human approval before implementing
52
55
  - Output: `thoughts/shared/plans/YYYY-MM-DD-{topic}.md`
53
56
 
@@ -59,9 +62,10 @@ Execute plan in git worktree for isolation:
59
62
  git worktree add ../{feature} -b feature/{feature}
60
63
  ```
61
64
 
62
- - Implementer + Reviewer work per phase
63
- - Commit with descriptive messages
64
- - Merge when complete
65
+ - **Executor** orchestrates the implement review cycle automatically
66
+ - Spawns Implementer waits → spawns Reviewer → loops if changes requested
67
+ - Maximum 3 cycles before escalating to human
68
+ - Commit with descriptive messages when approved
65
69
 
66
70
  ### 5. Handoff
67
71
 
@@ -87,8 +91,10 @@ Save/resume session state for continuity:
87
91
  | codebase-locator | subagent | - | Find file locations |
88
92
  | codebase-analyzer | subagent | - | Deep code analysis |
89
93
  | pattern-finder | subagent | - | Find existing patterns |
90
- | implementer | subagent | - | Execute implementation |
91
- | reviewer | subagent | - | Review correctness |
94
+ | planner | subagent | claude-opus-4-5 | Create detailed implementation plans |
95
+ | executor | subagent | claude-opus-4-5 | Orchestrate implement → review cycle |
96
+ | implementer | subagent | claude-opus-4-5 | Execute implementation tasks |
97
+ | reviewer | subagent | claude-opus-4-5 | Review correctness and style |
92
98
  | handoff-creator | subagent | - | Save session state |
93
99
  | handoff-resumer | subagent | - | Resume from handoff |
94
100
 
@@ -115,6 +121,22 @@ Save/resume session state for continuity:
115
121
  | Comment Checker | Validates edit tool comments |
116
122
  | Session Recovery | Recovers from crashes |
117
123
 
124
+ ## Permissions
125
+
126
+ All permissions are set to `allow` globally - no prompts for tool usage:
127
+
128
+ ```typescript
129
+ config.permission = {
130
+ edit: "allow",
131
+ bash: "allow",
132
+ webfetch: "allow",
133
+ doom_loop: "allow",
134
+ external_directory: "allow",
135
+ };
136
+ ```
137
+
138
+ This enables subagents to work autonomously without getting stuck on permission prompts.
139
+
118
140
  ## MCP Servers
119
141
 
120
142
  | Server | Description |
@@ -190,3 +212,10 @@ npm publish
190
212
  4. **Parallel investigation** - Spawn multiple subagents for speed
191
213
  5. **Isolated implementation** - Use git worktrees for features
192
214
  6. **Continuous verification** - Implementer + Reviewer per phase
215
+
216
+ ## Inspiration
217
+
218
+ Built on techniques from:
219
+
220
+ - **[oh-my-opencode](https://github.com/code-yeongyu/oh-my-opencode)** - OpenCode plugin architecture, agent orchestration patterns, and trusted publishing setup
221
+ - **[HumanLayer ACE-FCA](https://github.com/humanlayer/12-factor-agents)** - Advanced Context Engineering for Coding Agents, structured workflows, and the research → plan → implement methodology
@@ -0,0 +1,2 @@
1
+ import type { AgentConfig } from "@opencode-ai/sdk";
2
+ export declare const executorAgent: AgentConfig;
@@ -3,11 +3,13 @@ import { brainstormerAgent } from "./brainstormer";
3
3
  import { codebaseLocatorAgent } from "./codebase-locator";
4
4
  import { codebaseAnalyzerAgent } from "./codebase-analyzer";
5
5
  import { patternFinderAgent } from "./pattern-finder";
6
+ import { plannerAgent } from "./planner";
6
7
  import { implementerAgent } from "./implementer";
7
8
  import { reviewerAgent } from "./reviewer";
9
+ import { executorAgent } from "./executor";
8
10
  import { handoffCreatorAgent } from "./handoff-creator";
9
11
  import { handoffResumerAgent } from "./handoff-resumer";
10
12
  import { primaryAgent, PRIMARY_AGENT_NAME } from "./commander";
11
13
  import { projectInitializerAgent } from "./project-initializer";
12
14
  export declare const agents: Record<string, AgentConfig>;
13
- export { primaryAgent, PRIMARY_AGENT_NAME, brainstormerAgent, codebaseLocatorAgent, codebaseAnalyzerAgent, patternFinderAgent, implementerAgent, reviewerAgent, handoffCreatorAgent, handoffResumerAgent, projectInitializerAgent, };
15
+ export { primaryAgent, PRIMARY_AGENT_NAME, brainstormerAgent, codebaseLocatorAgent, codebaseAnalyzerAgent, patternFinderAgent, plannerAgent, implementerAgent, reviewerAgent, executorAgent, handoffCreatorAgent, handoffResumerAgent, projectInitializerAgent, };
@@ -0,0 +1,2 @@
1
+ import type { AgentConfig } from "@opencode-ai/sdk";
2
+ export declare const plannerAgent: AgentConfig;
package/dist/index.js CHANGED
@@ -18,9 +18,11 @@ var brainstormerAgent = {
18
18
  temperature: 0.7,
19
19
  prompt: `<purpose>
20
20
  Turn ideas into fully formed designs through natural collaborative dialogue.
21
+ This is DESIGN ONLY. The planner agent handles detailed implementation plans.
21
22
  </purpose>
22
23
 
23
24
  <critical-rules>
25
+ <rule>NO CODE: Never write code. Never provide code examples. Design only.</rule>
24
26
  <rule>SUBAGENTS: Spawn multiple in parallel for codebase analysis.</rule>
25
27
  <rule>TOOLS (grep, read, etc.): Do NOT use directly - use subagents instead.</rule>
26
28
  <rule>Ask questions ONE AT A TIME in plain text. Wait for response before continuing.</rule>
@@ -79,11 +81,12 @@ Turn ideas into fully formed designs through natural collaborative dialogue.
79
81
  <phase name="finalizing">
80
82
  <action>Write validated design to thoughts/shared/designs/YYYY-MM-DD-{topic}-design.md</action>
81
83
  <action>Commit the design document to git</action>
82
- <action>Ask: "Ready for research to find implementation patterns?"</action>
84
+ <action>Ask: "Ready for the planner to create a detailed implementation plan?"</action>
83
85
  </phase>
84
86
  </process>
85
87
 
86
88
  <principles>
89
+ <principle name="design-only">NO CODE. Describe components, not implementations. Planner writes code.</principle>
87
90
  <principle name="subagents-first">ALWAYS use subagents for code analysis, NEVER tools directly</principle>
88
91
  <principle name="parallel-spawn">Spawn multiple subagents in a SINGLE message</principle>
89
92
  <principle name="one-question">Ask ONE question at a time. Wait for answer.</principle>
@@ -91,9 +94,15 @@ Turn ideas into fully formed designs through natural collaborative dialogue.
91
94
  <principle name="yagni">Remove unnecessary features from ALL designs</principle>
92
95
  <principle name="explore-alternatives">ALWAYS propose 2-3 approaches before settling</principle>
93
96
  <principle name="incremental-validation">Present in sections, validate each before proceeding</principle>
94
- <principle name="no-implementation">This is design only, no code writing</principle>
95
97
  </principles>
96
98
 
99
+ <never-do>
100
+ <forbidden>Never write code snippets or examples</forbidden>
101
+ <forbidden>Never provide file paths with line numbers</forbidden>
102
+ <forbidden>Never specify exact function signatures</forbidden>
103
+ <forbidden>Never jump to implementation details - stay at design level</forbidden>
104
+ </never-do>
105
+
97
106
  <output-format path="thoughts/shared/designs/YYYY-MM-DD-{topic}-design.md">
98
107
  <frontmatter>
99
108
  date: YYYY-MM-DD
@@ -330,6 +339,188 @@ Find existing patterns in the codebase to model after. Show, don't tell.
330
339
  </quality-criteria>`
331
340
  };
332
341
 
342
+ // src/agents/planner.ts
343
+ var plannerAgent = {
344
+ description: "Creates detailed implementation plans with exact file paths, complete code examples, and TDD steps",
345
+ mode: "subagent",
346
+ model: "anthropic/claude-opus-4-5",
347
+ temperature: 0.3,
348
+ prompt: `<purpose>
349
+ Transform validated designs into comprehensive implementation plans.
350
+ Plans assume the implementing engineer has zero codebase context.
351
+ Every task is bite-sized (2-5 minutes), with exact paths and complete code.
352
+ </purpose>
353
+
354
+ <critical-rules>
355
+ <rule>FOLLOW THE DESIGN: The brainstormer's design is the spec. Do not explore alternatives.</rule>
356
+ <rule>SUBAGENTS: Spawn for implementation details (paths, signatures, line numbers).</rule>
357
+ <rule>TOOLS (grep, read, etc.): Do NOT use directly - use subagents instead.</rule>
358
+ <rule>Every code example MUST be complete - never write "add validation here"</rule>
359
+ <rule>Every file path MUST be exact - never write "somewhere in src/"</rule>
360
+ <rule>Follow TDD: failing test \u2192 verify fail \u2192 implement \u2192 verify pass \u2192 commit</rule>
361
+ </critical-rules>
362
+
363
+ <research-scope>
364
+ Brainstormer did conceptual research (architecture, patterns, approaches).
365
+ Your research is IMPLEMENTATION-LEVEL only:
366
+ - Exact file paths and line numbers
367
+ - Exact function signatures and types
368
+ - Exact test file conventions
369
+ - Exact import paths
370
+ All research must serve the design - never second-guess design decisions.
371
+ </research-scope>
372
+
373
+ <available-subagents>
374
+ <subagent name="codebase-locator" spawn="parallel">
375
+ Find exact file paths needed for implementation.
376
+ Examples: "Find exact path to UserService", "Find test directory structure"
377
+ </subagent>
378
+ <subagent name="codebase-analyzer" spawn="parallel">
379
+ Get exact signatures and types for code examples.
380
+ Examples: "Get function signature for createUser", "Get type definition for UserConfig"
381
+ </subagent>
382
+ <subagent name="pattern-finder" spawn="parallel">
383
+ Find exact patterns to copy in code examples.
384
+ Examples: "Find exact test setup pattern", "Find exact error handling in similar endpoint"
385
+ </subagent>
386
+ </available-subagents>
387
+
388
+ <inputs>
389
+ <required>Design document from thoughts/shared/designs/</required>
390
+ <injected>CODE_STYLE.md - coding conventions (automatically available)</injected>
391
+ <injected>ARCHITECTURE.md - system structure (automatically available)</injected>
392
+ </inputs>
393
+
394
+ <process>
395
+ <phase name="understand-design">
396
+ <action>Read the design document thoroughly</action>
397
+ <action>Identify all components, files, and interfaces mentioned</action>
398
+ <action>Note any constraints or decisions made by brainstormer</action>
399
+ </phase>
400
+
401
+ <phase name="implementation-research">
402
+ <action>Spawn subagents in PARALLEL to gather exact details:</action>
403
+ <spawn-example>
404
+ In a SINGLE message, spawn:
405
+ - codebase-locator: "Find exact path to [component from design]"
406
+ - codebase-locator: "Find test file naming convention"
407
+ - codebase-analyzer: "Get exact signature for [function mentioned in design]"
408
+ - pattern-finder: "Find exact test setup pattern for [type of test]"
409
+ </spawn-example>
410
+ <rule>Only research what's needed to implement the design</rule>
411
+ <rule>Never research alternatives to design decisions</rule>
412
+ </phase>
413
+
414
+ <phase name="planning">
415
+ <action>Break design into sequential tasks (2-5 minutes each)</action>
416
+ <action>For each task, determine exact file paths from research</action>
417
+ <action>Write complete code examples following CODE_STYLE.md</action>
418
+ <action>Include exact verification commands with expected output</action>
419
+ </phase>
420
+
421
+ <phase name="output">
422
+ <action>Write plan to thoughts/shared/plans/YYYY-MM-DD-{topic}.md</action>
423
+ <action>Commit the plan document to git</action>
424
+ </phase>
425
+ </process>
426
+
427
+ <task-granularity>
428
+ Each step is ONE action (2-5 minutes):
429
+ - "Write the failing test" - one step
430
+ - "Run test to verify it fails" - one step
431
+ - "Implement minimal code to pass" - one step
432
+ - "Run test to verify it passes" - one step
433
+ - "Commit" - one step
434
+ </task-granularity>
435
+
436
+ <output-format path="thoughts/shared/plans/YYYY-MM-DD-{topic}.md">
437
+ <template>
438
+ # [Feature Name] Implementation Plan
439
+
440
+ **Goal:** [One sentence describing what this builds]
441
+
442
+ **Architecture:** [2-3 sentences about approach]
443
+
444
+ **Design:** [Link to thoughts/shared/designs/YYYY-MM-DD-{topic}-design.md]
445
+
446
+ ---
447
+
448
+ ## Task 1: [Component Name]
449
+
450
+ **Files:**
451
+ - Create: \`exact/path/to/file.ts\`
452
+ - Modify: \`exact/path/to/existing.ts:123-145\`
453
+ - Test: \`tests/exact/path/to/test.ts\`
454
+
455
+ **Step 1: Write the failing test**
456
+
457
+ \`\`\`typescript
458
+ // Complete test code - no placeholders
459
+ describe("FeatureName", () => {
460
+ it("should do specific thing", () => {
461
+ const result = functionName(input);
462
+ expect(result).toBe(expected);
463
+ });
464
+ });
465
+ \`\`\`
466
+
467
+ **Step 2: Run test to verify it fails**
468
+
469
+ Run: \`bun test tests/path/test.ts\`
470
+ Expected: FAIL with "functionName is not defined"
471
+
472
+ **Step 3: Write minimal implementation**
473
+
474
+ \`\`\`typescript
475
+ // Complete implementation - no placeholders
476
+ export function functionName(input: InputType): OutputType {
477
+ return expected;
478
+ }
479
+ \`\`\`
480
+
481
+ **Step 4: Run test to verify it passes**
482
+
483
+ Run: \`bun test tests/path/test.ts\`
484
+ Expected: PASS
485
+
486
+ **Step 5: Commit**
487
+
488
+ \`\`\`bash
489
+ git add tests/path/test.ts src/path/file.ts
490
+ git commit -m "feat(scope): add specific feature"
491
+ \`\`\`
492
+
493
+ ---
494
+
495
+ ## Task 2: [Next Component]
496
+ ...
497
+
498
+ </template>
499
+ </output-format>
500
+
501
+ <principles>
502
+ <principle name="zero-context">Engineer knows nothing about our codebase</principle>
503
+ <principle name="complete-code">Every code block is copy-paste ready</principle>
504
+ <principle name="exact-paths">Every file path is absolute from project root</principle>
505
+ <principle name="tdd-always">Every feature starts with a failing test</principle>
506
+ <principle name="small-steps">Each step takes 2-5 minutes max</principle>
507
+ <principle name="verify-everything">Every step has a verification command</principle>
508
+ <principle name="frequent-commits">Commit after each passing test</principle>
509
+ <principle name="yagni">Only what's needed - no extras</principle>
510
+ <principle name="dry">Extract duplication in code examples</principle>
511
+ </principles>
512
+
513
+ <never-do>
514
+ <forbidden>Never second-guess the design - brainstormer made those decisions</forbidden>
515
+ <forbidden>Never propose alternative approaches - implement what's in the design</forbidden>
516
+ <forbidden>Never write "add validation here" - write the actual validation</forbidden>
517
+ <forbidden>Never write "src/somewhere/" - write the exact path</forbidden>
518
+ <forbidden>Never skip the failing test step</forbidden>
519
+ <forbidden>Never combine multiple features in one task</forbidden>
520
+ <forbidden>Never assume the reader knows our patterns</forbidden>
521
+ </never-do>`
522
+ };
523
+
333
524
  // src/agents/implementer.ts
334
525
  var implementerAgent = {
335
526
  description: "Executes implementation tasks from a plan",
@@ -506,6 +697,98 @@ Check correctness and style. Be specific. Run code, don't just read.
506
697
  </priority-order>`
507
698
  };
508
699
 
700
+ // src/agents/executor.ts
701
+ var executorAgent = {
702
+ description: "Executes plan then reviews - orchestrates implementer and reviewer",
703
+ mode: "subagent",
704
+ model: "anthropic/claude-opus-4-5",
705
+ temperature: 0.2,
706
+ prompt: `<purpose>
707
+ Execute the plan completely: implement then review.
708
+ You orchestrate the implementer and reviewer subagents.
709
+ </purpose>
710
+
711
+ <workflow>
712
+ <step>Spawn implementer with the plan</step>
713
+ <step>Wait for implementer to complete</step>
714
+ <step>Spawn reviewer to check the implementation</step>
715
+ <step>If reviewer requests changes: spawn implementer again with fixes</step>
716
+ <step>Repeat until reviewer approves or issues are blocking</step>
717
+ <step>Report final status</step>
718
+ </workflow>
719
+
720
+ <available-subagents>
721
+ <subagent name="implementer" spawn="sequential">
722
+ Executes implementation tasks from a plan.
723
+ Input: The plan or specific tasks to implement.
724
+ Output: List of changes made and verification results.
725
+ </subagent>
726
+ <subagent name="reviewer" spawn="sequential">
727
+ Reviews implementation for correctness and style.
728
+ Input: Implicitly reviews current state against plan.
729
+ Output: APPROVED or CHANGES REQUESTED with specific issues.
730
+ </subagent>
731
+ </available-subagents>
732
+
733
+ <rules>
734
+ <rule>ALWAYS spawn reviewer after implementer completes</rule>
735
+ <rule>Never skip the review step</rule>
736
+ <rule>If reviewer finds issues, spawn implementer to fix them</rule>
737
+ <rule>Maximum 3 implement-review cycles before escalating</rule>
738
+ <rule>Report blocking issues immediately - don't loop forever</rule>
739
+ </rules>
740
+
741
+ <on-reviewer-approved>
742
+ Report success with summary of changes and verification status.
743
+ </on-reviewer-approved>
744
+
745
+ <on-reviewer-requests-changes>
746
+ <action>Parse the specific issues from reviewer output</action>
747
+ <action>Spawn implementer with the list of issues to fix</action>
748
+ <action>After implementer completes, spawn reviewer again</action>
749
+ <rule>Track cycle count - max 3 cycles</rule>
750
+ </on-reviewer-requests-changes>
751
+
752
+ <on-max-cycles-reached>
753
+ <action>Report that implementation could not satisfy review after 3 attempts</action>
754
+ <action>Include all outstanding issues from last review</action>
755
+ <action>Request human guidance</action>
756
+ </on-max-cycles-reached>
757
+
758
+ <output-format>
759
+ <template>
760
+ ## Execution Complete
761
+
762
+ **Status**: APPROVED / NEEDS HUMAN REVIEW
763
+
764
+ **Cycles**: [N] implement-review cycles
765
+
766
+ ### Implementation Summary
767
+ [From implementer output]
768
+ - \`file:line\` - [what changed]
769
+
770
+ ### Review Summary
771
+ [From reviewer output]
772
+ - Status: [APPROVED / issues remaining]
773
+ - [Any outstanding issues]
774
+
775
+ ### Verification
776
+ - [x] Tests pass
777
+ - [x] Types check
778
+ - [x] Review approved
779
+
780
+ **Next**: [Ready to commit / Needs human decision on: X]
781
+ </template>
782
+ </output-format>
783
+
784
+ <never-do>
785
+ <forbidden>Never skip the review step</forbidden>
786
+ <forbidden>Never report success without reviewer approval</forbidden>
787
+ <forbidden>Never loop more than 3 times without escalating</forbidden>
788
+ <forbidden>Never ignore reviewer feedback</forbidden>
789
+ </never-do>`
790
+ };
791
+
509
792
  // src/agents/handoff-creator.ts
510
793
  var handoffCreatorAgent = {
511
794
  description: "Creates handoff documents for session continuity",
@@ -691,17 +974,13 @@ Just do it - including obvious follow-up actions.
691
974
 
692
975
  <workflow description="For non-trivial work">
693
976
  <phase name="brainstorm" trigger="unclear requirements">
694
- <action>Spawn brainstormer for design exploration</action>
977
+ <action>Tell user to invoke brainstormer for interactive design exploration</action>
978
+ <note>Brainstormer is primary agent - user must invoke directly</note>
695
979
  <output>thoughts/shared/designs/YYYY-MM-DD-{topic}-design.md</output>
696
980
  </phase>
697
981
 
698
- <phase name="research" trigger="before significant changes">
699
- <action parallel="true">Spawn codebase-locator, codebase-analyzer, pattern-finder</action>
700
- <output>thoughts/shared/research/YYYY-MM-DD-{topic}.md</output>
701
- </phase>
702
-
703
- <phase name="plan" trigger="before multi-file implementation">
704
- <action>Use research, write plan with phases and verification</action>
982
+ <phase name="plan" trigger="design exists OR requirements clear">
983
+ <action>Spawn planner with design document (planner does its own research)</action>
705
984
  <output>thoughts/shared/plans/YYYY-MM-DD-{topic}.md</output>
706
985
  <action>Get approval before implementation</action>
707
986
  </phase>
@@ -714,8 +993,8 @@ Just do it - including obvious follow-up actions.
714
993
  </phase>
715
994
 
716
995
  <phase name="implement">
717
- <action parallel="true">Per phase, spawn implementer + reviewer</action>
718
- <action>Reconcile, fix issues, run verification</action>
996
+ <action>Spawn executor (handles implementer + reviewer automatically)</action>
997
+ <action>Executor loops until reviewer approves or escalates</action>
719
998
  <on-mismatch>STOP, report, ask. Don't improvise.</on-mismatch>
720
999
  </phase>
721
1000
 
@@ -734,17 +1013,17 @@ Just do it - including obvious follow-up actions.
734
1013
  </workflow>
735
1014
 
736
1015
  <agents>
737
- <agent name="brainstormer" purpose="Design exploration"/>
738
- <agent name="codebase-locator" purpose="Find WHERE files are"/>
739
- <agent name="codebase-analyzer" purpose="Explain HOW code works"/>
740
- <agent name="pattern-finder" purpose="Find existing patterns"/>
741
- <agent name="implementer" purpose="Execute implementation"/>
742
- <agent name="reviewer" purpose="Check correctness"/>
743
- <agent name="handoff-creator" purpose="Create handoff docs"/>
744
- <agent name="handoff-resumer" purpose="Resume from handoffs"/>
1016
+ <agent name="brainstormer" mode="primary" purpose="Design exploration (user invokes directly)"/>
1017
+ <agent name="codebase-locator" mode="subagent" purpose="Find WHERE files are"/>
1018
+ <agent name="codebase-analyzer" mode="subagent" purpose="Explain HOW code works"/>
1019
+ <agent name="pattern-finder" mode="subagent" purpose="Find existing patterns"/>
1020
+ <agent name="planner" mode="subagent" purpose="Create detailed implementation plans"/>
1021
+ <agent name="executor" mode="subagent" purpose="Execute plan (runs implementer then reviewer automatically)"/>
1022
+ <agent name="handoff-creator" mode="subagent" purpose="Create handoff docs"/>
1023
+ <agent name="handoff-resumer" mode="subagent" purpose="Resume from handoffs"/>
745
1024
  <parallelization>
746
1025
  <safe>locator, analyzer, pattern-finder</safe>
747
- <sequential>implementer then reviewer</sequential>
1026
+ <sequential>planner then executor</sequential>
748
1027
  </parallelization>
749
1028
  </agents>
750
1029
 
@@ -965,6 +1244,7 @@ var PROMPT2 = `
965
1244
  </agent>
966
1245
  `;
967
1246
  var projectInitializerAgent = {
1247
+ mode: "subagent",
968
1248
  model: "anthropic/claude-opus-4-5",
969
1249
  temperature: 0.3,
970
1250
  maxTokens: 32000,
@@ -978,8 +1258,10 @@ var agents = {
978
1258
  "codebase-locator": codebaseLocatorAgent,
979
1259
  "codebase-analyzer": codebaseAnalyzerAgent,
980
1260
  "pattern-finder": patternFinderAgent,
1261
+ planner: plannerAgent,
981
1262
  implementer: implementerAgent,
982
1263
  reviewer: reviewerAgent,
1264
+ executor: executorAgent,
983
1265
  "handoff-creator": handoffCreatorAgent,
984
1266
  "handoff-resumer": handoffResumerAgent,
985
1267
  "project-initializer": projectInitializerAgent
@@ -15001,6 +15283,14 @@ var OpenCodeConfigPlugin = async (ctx) => {
15001
15283
  ...backgroundTaskTools
15002
15284
  },
15003
15285
  config: async (config2) => {
15286
+ config2.permission = {
15287
+ ...config2.permission,
15288
+ edit: "allow",
15289
+ bash: "allow",
15290
+ webfetch: "allow",
15291
+ doom_loop: "allow",
15292
+ external_directory: "allow"
15293
+ };
15004
15294
  config2.agent = {
15005
15295
  Commander: agents[PRIMARY_AGENT_NAME],
15006
15296
  ...Object.fromEntries(Object.entries(agents).filter(([k]) => k !== PRIMARY_AGENT_NAME)),
package/package.json CHANGED
@@ -1,11 +1,14 @@
1
1
  {
2
2
  "name": "micode",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "OpenCode plugin with Brainstorm-Research-Plan-Implement workflow",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "type": "module",
8
- "files": ["dist", "INSTALL_CLAUDE.md"],
8
+ "files": [
9
+ "dist",
10
+ "INSTALL_CLAUDE.md"
11
+ ],
9
12
  "exports": {
10
13
  ".": {
11
14
  "types": "./dist/index.d.ts",
@@ -18,7 +21,13 @@
18
21
  "typecheck": "tsc --noEmit",
19
22
  "prepublishOnly": "bun run clean && bun run build"
20
23
  },
21
- "keywords": ["opencode", "plugin", "research", "plan", "implement"],
24
+ "keywords": [
25
+ "opencode",
26
+ "plugin",
27
+ "research",
28
+ "plan",
29
+ "implement"
30
+ ],
22
31
  "author": "vtemian",
23
32
  "license": "MIT",
24
33
  "repository": {
@@ -30,7 +39,7 @@
30
39
  "url": "https://github.com/vtemian/micode/issues"
31
40
  },
32
41
  "dependencies": {
33
- "@opencode-ai/plugin": "1.0.180"
42
+ "@opencode-ai/plugin": "1.0.191"
34
43
  },
35
44
  "devDependencies": {
36
45
  "bun-types": "latest",