opencode-agent-kit 1.0.17 → 1.0.19

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.
Files changed (32) hide show
  1. package/README.md +22 -6
  2. package/bin/commands/init.mjs +29 -2
  3. package/package.json +2 -1
  4. package/template/.opencode/.agents.md +55 -0
  5. package/template/.opencode/agents/flutter-developer.md +1 -1
  6. package/template/.opencode/agents/nuxt-frontend-developer.md +4 -4
  7. package/template/.opencode/agents/react-frontend-developer.md +4 -4
  8. package/template/.opencode/commands/recall.md +19 -0
  9. package/template/.opencode/commands/remember.md +19 -0
  10. package/template/.opencode/docs/frontend/nuxt/COMPLETION_REPORT.md +1 -1
  11. package/template/.opencode/docs/frontend/nuxt/INDEX.md +1 -1
  12. package/template/.opencode/docs/frontend/nuxt/QUICK_START.md +2 -2
  13. package/template/.opencode/docs/frontend/nuxt/README.md +8 -8
  14. package/template/.opencode/docs/frontend/nuxt/SUMMARY.md +1 -1
  15. package/template/.opencode/docs/frontend/nuxt/TESTING_GUIDE.md +1 -1
  16. package/template/.opencode/docs/frontend/nuxt/WORKFLOWS.md +1 -1
  17. package/template/.opencode/docs/frontend/react/CHEATSHEET.md +1 -1
  18. package/template/.opencode/docs/frontend/react/INDEX.md +9 -9
  19. package/template/.opencode/docs/frontend/react/QUICK_START.md +1 -1
  20. package/template/.opencode/docs/frontend/react/README.md +1 -1
  21. package/template/.opencode/docs/mobile/flutter/README.md +1 -1
  22. package/template/.opencode/hooks/agentmemory-start.sh +17 -0
  23. package/template/.opencode/instructions/INSTRUCTIONS.md +49 -0
  24. package/template/.opencode/plugins/agentmemory-capture.ts +651 -0
  25. package/template/.opencode/skills/agentmemory/SKILL.md +97 -0
  26. package/template/.opencode/skills/impeccable/SKILL.md +5 -2
  27. package/template/opencode.json +32 -12
  28. package/template/.opencode/config.example.json +0 -309
  29. package/template/.opencode/config.json +0 -285
  30. package/template/.opencode/skills/continuous-learning/config.json +0 -18
  31. package/template/.opencode/skills/continuous-learning-v2/config.json +0 -41
  32. package/template/.opencode/skills/frontend-design/SKILL.md +0 -89
@@ -1,285 +0,0 @@
1
- {
2
- "$schema": "https://opencode.ai/config.json",
3
- "formatter": true,
4
- "permission": {
5
- "read": {
6
- "*": "allow",
7
- "*.env": "deny",
8
- "*.env.*": "deny",
9
- "*.env.example": "allow"
10
- },
11
- "edit": "allow",
12
- "webfetch": "allow",
13
- "skill": {
14
- "*": "allow"
15
- },
16
- "todowrite": "allow",
17
- "question": "allow",
18
- "doom_loop": "ask",
19
- "external_directory": "ask"
20
- },
21
- "instructions": [
22
- ".opencode/instructions/INSTRUCTIONS.md",
23
- ".opencode/skills/coding-standards/SKILL.md",
24
- ".opencode/skills/security-review/SKILL.md",
25
- ".opencode/skills/frontend-design/SKILL.md"
26
- ],
27
- "agent": {
28
- "leader": {
29
- "description": "IT Leader & Technical Project Manager — analyzes requirements, designs architecture, decomposes tasks, delegates to subagents, and unifies outputs",
30
- "mode": "primary",
31
- "prompt": "{file:.opencode/agents/it-leader.md}",
32
- "temperature": 0.4,
33
- "color": "#8b5cf6",
34
- "permission": {
35
- "edit": "allow",
36
- "webfetch": "allow",
37
- "skill": { "*": "allow" },
38
- "bash": {
39
- "*": "ask",
40
- "npm *": "allow",
41
- "pnpm *": "allow",
42
- "bun *": "allow",
43
- "yarn *": "allow",
44
- "npx playwright*": "allow"
45
- },
46
- "nuxt_*": "allow",
47
- "nuxt-ui_*": "allow",
48
- "figma_*": "ask",
49
- "playwright_*": "allow",
50
- "postman_*": "allow",
51
- "task": { "*": "allow" }
52
- }
53
- },
54
- "frontend-nuxt": {
55
- "description": "Expert Vue/Nuxt frontend developer for Nuxt.js, Vue 3, Nuxt UI, and modern web technologies with MCP integration (subagent of IT Leader)",
56
- "mode": "subagent",
57
- "prompt": "{file:.opencode/agents/nuxt-frontend-developer.md}",
58
- "color": "#3b82f6",
59
- "permission": {
60
- "edit": "allow",
61
- "webfetch": "allow",
62
- "skill": { "*": "allow" },
63
- "bash": {
64
- "*": "ask",
65
- "npm *": "allow",
66
- "pnpm *": "allow",
67
- "bun *": "allow",
68
- "yarn *": "allow",
69
- "npx playwright*": "allow"
70
- },
71
- "nuxt_*": "allow",
72
- "nuxt-ui_*": "allow",
73
- "figma_*": "ask",
74
- "playwright_*": "allow"
75
- }
76
- },
77
- "frontend-react": {
78
- "description": "Expert React/Next.js frontend developer for React 19, Next.js 15, Vite, shadcn/ui, and modern web technologies (subagent of IT Leader)",
79
- "mode": "subagent",
80
- "prompt": "{file:.opencode/agents/react-frontend-developer.md}",
81
- "color": "#06b6d4",
82
- "permission": {
83
- "edit": "allow",
84
- "webfetch": "allow",
85
- "skill": { "*": "allow" },
86
- "bash": {
87
- "*": "ask",
88
- "npm *": "allow",
89
- "pnpm *": "allow",
90
- "bun *": "allow",
91
- "yarn *": "allow",
92
- "npx playwright*": "allow"
93
- },
94
- "figma_*": "ask",
95
- "playwright_*": "allow"
96
- }
97
- },
98
- "backend": {
99
- "description": "Expert backend developer for Node.js, Express, Prisma, and PostgreSQL (subagent of IT Leader)",
100
- "mode": "subagent",
101
- "prompt": "{file:.opencode/agents/node-backend-developer.md}",
102
- "color": "#10b981",
103
- "permission": {
104
- "edit": "allow",
105
- "webfetch": "allow",
106
- "skill": { "*": "allow" },
107
- "bash": {
108
- "*": "ask",
109
- "npm *": "allow",
110
- "pnpm *": "allow",
111
- "bun *": "allow",
112
- "yarn *": "allow"
113
- },
114
- "postman_*": "allow"
115
- }
116
- },
117
- "ci3": {
118
- "description": "CodeIgniter 3 MVC fullstack developer for REST API, JWT, MySQL/PostgreSQL (subagent of IT Leader)",
119
- "mode": "subagent",
120
- "prompt": "{file:.opencode/agents/code-igniter-3-fullstack.md}",
121
- "color": "#84cc16",
122
- "permission": {
123
- "edit": "allow",
124
- "webfetch": "allow",
125
- "skill": { "*": "allow" },
126
- "bash": {
127
- "*": "ask",
128
- "git status": "allow",
129
- "git diff": "allow",
130
- "git log*": "allow"
131
- },
132
- "postman_*": "allow"
133
- }
134
- },
135
- "laravel": {
136
- "description": "Laravel backend engineer for REST API, Service/Repository, JWT, MySQL/PostgreSQL (subagent of IT Leader)",
137
- "mode": "subagent",
138
- "prompt": "{file:.opencode/agents/laravel-advanced.md}",
139
- "color": "#f97316",
140
- "permission": {
141
- "edit": "allow",
142
- "webfetch": "allow",
143
- "skill": { "*": "allow" },
144
- "bash": {
145
- "*": "ask",
146
- "git status": "allow",
147
- "git diff": "allow",
148
- "git log*": "allow"
149
- },
150
- "postman_*": "allow"
151
- }
152
- },
153
- "designer": {
154
- "description": "UI/UX Designer specializing in design systems, Google Stitch, Figma, accessibility, and design-to-code handoff (subagent of IT Leader)",
155
- "mode": "subagent",
156
- "prompt": "{file:.opencode/agents/ui-ux-designer.md}",
157
- "color": "#f59e0b",
158
- "permission": {
159
- "edit": "allow",
160
- "webfetch": "allow",
161
- "skill": { "*": "allow" },
162
- "bash": {
163
- "*": "ask",
164
- "git status": "allow",
165
- "git diff": "allow",
166
- "git log*": "allow"
167
- },
168
- "stitch_*": "allow",
169
- "figma_*": "ask",
170
- "nuxt-ui_*": "allow"
171
- }
172
- },
173
- "reviewer": {
174
- "description": "Code Reviewer & QA Engineer specializing in code quality, security audit, testing strategy, and verification (subagent of IT Leader)",
175
- "mode": "subagent",
176
- "prompt": "{file:.opencode/agents/code-reviewer.md}",
177
- "color": "#ef4444",
178
- "permission": {
179
- "edit": "allow",
180
- "webfetch": "allow",
181
- "skill": { "*": "allow" },
182
- "bash": {
183
- "*": "ask",
184
- "npm *": "allow",
185
- "pnpm *": "allow",
186
- "bun *": "allow",
187
- "yarn *": "allow",
188
- "npx playwright*": "allow"
189
- },
190
- "playwright_*": "allow"
191
- }
192
- },
193
- "database": {
194
- "description": "Database Specialist specializing in PostgreSQL schema design, query optimization, Prisma ORM, and migrations (subagent of IT Leader)",
195
- "mode": "subagent",
196
- "prompt": "{file:.opencode/agents/database-specialist.md}",
197
- "color": "#06b6d4",
198
- "permission": {
199
- "edit": "allow",
200
- "webfetch": "allow",
201
- "skill": { "*": "allow" },
202
- "bash": {
203
- "*": "ask",
204
- "npm *": "allow",
205
- "pnpm *": "allow",
206
- "bun *": "allow",
207
- "yarn *": "allow"
208
- }
209
- }
210
- },
211
- "devops": {
212
- "description": "DevOps Engineer specializing in CI/CD, deployment, Docker, monitoring, and infrastructure (subagent of IT Leader)",
213
- "mode": "subagent",
214
- "prompt": "{file:.opencode/agents/devops-specialist.md}",
215
- "color": "#6366f1",
216
- "permission": {
217
- "edit": "allow",
218
- "webfetch": "allow",
219
- "skill": { "*": "allow" },
220
- "bash": {
221
- "*": "ask",
222
- "npm *": "allow",
223
- "pnpm *": "allow",
224
- "bun *": "allow",
225
- "yarn *": "allow",
226
- "docker *": "allow"
227
- }
228
- }
229
- },
230
- "seo": {
231
- "description": "SEO Specialist specializing in meta tags, structured data, Core Web Vitals, and content optimization (subagent of IT Leader)",
232
- "mode": "subagent",
233
- "prompt": "{file:.opencode/agents/seo-specialist.md}",
234
- "color": "#84cc16",
235
- "permission": {
236
- "edit": "allow",
237
- "webfetch": "allow",
238
- "skill": { "*": "allow" },
239
- "bash": {
240
- "*": "ask",
241
- "git status": "allow",
242
- "git diff": "allow",
243
- "git log*": "allow"
244
- },
245
- "nuxt_*": "allow"
246
- }
247
- },
248
- "android": {
249
- "description": "Expert Android developer for Kotlin, Jetpack Compose, XML, Material Design 3, and Google Play (subagent of IT Leader)",
250
- "mode": "subagent",
251
- "prompt": "{file:.opencode/agents/android-developer.md}",
252
- "color": "#22c55e",
253
- "permission": {
254
- "edit": "allow",
255
- "webfetch": "allow",
256
- "skill": { "*": "allow" },
257
- "bash": {
258
- "*": "ask",
259
- "./gradlew *": "allow",
260
- "gradle *": "allow"
261
- },
262
- "figma_*": "ask",
263
- "playwright_*": "allow"
264
- }
265
- },
266
- "flutter": {
267
- "description": "Expert Flutter developer for Dart, Flutter SDK, Material Design 3, Firebase, and cross-platform mobile apps (subagent of IT Leader)",
268
- "mode": "subagent",
269
- "prompt": "{file:.opencode/agents/flutter-developer.md}",
270
- "color": "#0284c7",
271
- "permission": {
272
- "edit": "allow",
273
- "webfetch": "allow",
274
- "skill": { "*": "allow" },
275
- "bash": {
276
- "*": "ask",
277
- "flutter *": "allow",
278
- "dart *": "allow"
279
- },
280
- "figma_*": "ask",
281
- "playwright_*": "allow"
282
- }
283
- }
284
- }
285
- }
@@ -1,18 +0,0 @@
1
- {
2
- "min_session_length": 10,
3
- "extraction_threshold": "medium",
4
- "auto_approve": false,
5
- "learned_skills_path": "~/.claude/skills/learned/",
6
- "patterns_to_detect": [
7
- "error_resolution",
8
- "user_corrections",
9
- "workarounds",
10
- "debugging_techniques",
11
- "project_specific"
12
- ],
13
- "ignore_patterns": [
14
- "simple_typos",
15
- "one_time_fixes",
16
- "external_api_issues"
17
- ]
18
- }
@@ -1,41 +0,0 @@
1
- {
2
- "version": "2.0",
3
- "observation": {
4
- "enabled": true,
5
- "store_path": "~/.claude/homunculus/observations.jsonl",
6
- "max_file_size_mb": 10,
7
- "archive_after_days": 7,
8
- "capture_tools": ["Edit", "Write", "Bash", "Read", "Grep", "Glob"],
9
- "ignore_tools": ["TodoWrite"]
10
- },
11
- "instincts": {
12
- "personal_path": "~/.claude/homunculus/instincts/personal/",
13
- "inherited_path": "~/.claude/homunculus/instincts/inherited/",
14
- "min_confidence": 0.3,
15
- "auto_approve_threshold": 0.7,
16
- "confidence_decay_rate": 0.02,
17
- "max_instincts": 100
18
- },
19
- "observer": {
20
- "enabled": false,
21
- "model": "haiku",
22
- "run_interval_minutes": 5,
23
- "min_observations_to_analyze": 20,
24
- "patterns_to_detect": [
25
- "user_corrections",
26
- "error_resolutions",
27
- "repeated_workflows",
28
- "tool_preferences",
29
- "file_patterns"
30
- ]
31
- },
32
- "evolution": {
33
- "cluster_threshold": 3,
34
- "evolved_path": "~/.claude/homunculus/evolved/",
35
- "auto_evolve": false
36
- },
37
- "integration": {
38
- "skill_creator_api": "https://skill-creator.app/api",
39
- "backward_compatible_v1": true
40
- }
41
- }
@@ -1,89 +0,0 @@
1
- ---
2
- name: frontend-design
3
- description: Create distinctive, production-grade frontend interfaces with high design quality. Automatically applies Impeccable design intelligence — typography, color, layout, motion, critique, and polish. Use this skill when the user asks to build, redesign, critique, audit, or polish web components, pages, or applications.
4
- ---
5
-
6
- This skill embeds **Impeccable** (impeccable.style) design intelligence. When doing frontend design work, automatically load the `impeccable` skill via the skill tool to access deep reference files for typography, color, motion, spatial design, interaction, responsive, UX writing, and all 23 design command references.
7
-
8
- ## Core Design Principles (Apply Automatically)
9
-
10
- ### Color
11
- - Use OKLCH. Reduce chroma as lightness approaches 0 or 100.
12
- - Never use `#000` or `#fff`. Tint every neutral toward the brand hue (chroma 0.005–0.01).
13
- - Pick a **color strategy**: Restrained (tinted neutrals + ≤10% accent), Committed (one color carries 30–60%), Full palette (3–4 named roles), or Drenched (the surface IS the color).
14
- - Name your instinctive first three palette choices; reject all three before committing.
15
-
16
- ### Typography
17
- - Cap body line length at 65–75ch.
18
- - ≥1.25 ratio between hierarchy steps. Avoid flat scales.
19
- - Avoid overused fonts: Inter, Roboto, Arial, Fraunces, Geist, Plus Jakarta Sans, Space Grotesk, Recoleta, Instrument Sans.
20
- - Prefer distinctive display fonts + refined body pairings.
21
-
22
- ### Layout
23
- - Vary spacing for rhythm. Same padding everywhere is monotony.
24
- - Cards are the lazy answer. Use only when they're truly the best affordance. Nested cards are always wrong.
25
- - Don't wrap everything in a container. Most things don't need one.
26
-
27
- ### Motion
28
- - Don't animate CSS layout properties.
29
- - Ease out with exponential curves (ease-out-quart / quint / expo). No bounce, no elastic.
30
- - 150ms for hover/focus, 300ms for toggles/reveals, 500ms for page transitions.
31
-
32
- ### Absolute Bans (AI Slop Prevention)
33
- - **Side-stripe borders**: `border-left`/`right` >1px as colored accent — never intentional.
34
- - **Gradient text**: `background-clip: text` with gradient — decorative, never meaningful.
35
- - **Glassmorphism as default** — rare and purposeful, or nothing.
36
- - **Hero-metric template**: big number, small label, supporting stats, gradient accent. SaaS cliché.
37
- - **Identical card grids**: same-sized cards with icon + heading + text, endlessly.
38
- - **Modal as first thought** — exhaust inline/progressive alternatives first.
39
- - **Italic serif display heroes**: oversized italic serif as primary h1 (late-2025 AI fingerprint).
40
- - **Hero eyebrow chips**: uppercase letter-spaced label sitting directly above h1.
41
-
42
- ### Copy
43
- - Every word earns its place. No restated headings, no intros that repeat the title.
44
- - **No em dashes**. Use commas, colons, semicolons, periods, or parentheses.
45
-
46
- ### Register Awareness
47
- Every design task is either **brand** (marketing, landing, portfolio: design IS the product) or **product** (app UI, dashboard, tools: design SERVES the product). Identify before designing. Brand work needs bolder choices; product work needs clarity and efficiency.
48
-
49
- ## Design Thinking
50
-
51
- Before coding, understand:
52
- - **Purpose**: What problem does this interface solve? Who uses it?
53
- - **Tone**: Pick a BOLD aesthetic direction (brutally minimal, maximalist chaos, retro-futuristic, editorial/magazine, etc.)
54
- - **Constraints**: Technical requirements (framework, performance, accessibility)
55
- - **Differentiation**: What makes this UNFORGETTABLE?
56
-
57
- Then implement working code that is:
58
- - Production-grade and functional
59
- - Visually striking and memorable
60
- - Cohesive with a clear aesthetic point-of-view
61
- - Meticulously refined in every detail
62
-
63
- ## Aesthetics Guidelines
64
-
65
- - **Typography**: Choose distinctive, unexpected fonts. Avoid AI-overused fonts.
66
- - **Color & Theme**: Commit to a cohesive aesthetic. Use CSS variables in OKLCH.
67
- - **Motion**: Purposeful animations, staggered reveals, scroll-triggering, surprising hover states.
68
- - **Spatial Composition**: Unexpected layouts. Asymmetry. Overlap. Grid-breaking. Generous whitespace.
69
- - **Backgrounds**: Gradient meshes, noise textures, geometric patterns, layered transparencies.
70
-
71
- Never converge on common choices across generations. Vary between light and dark themes, different fonts, different aesthetics.
72
-
73
- ## Loading Impeccable Reference Files
74
-
75
- When the task involves any of these, load the corresponding reference via the `skill` tool:
76
-
77
- | Task | Reference File |
78
- |------|---------------|
79
- | Typography fixes | `impeccable` skill (loads typography.md) |
80
- | Color decisions | `impeccable` skill (loads color-and-contrast.md) |
81
- | Motion/animation | `impeccable` skill (loads motion-design.md) |
82
- | Layout/spacing | `impeccable` skill (loads spatial-design.md) |
83
- | UX copy | `impeccable` skill (loads ux-writing.md) |
84
- | Responsive | `impeccable` skill (loads responsive-design.md) |
85
- | Interaction design | `impeccable` skill (loads interaction-design.md) |
86
- | Full critique | `impeccable` skill (loads critique.md, personas.md, heuristics-scoring.md) |
87
- | Production polish | `impeccable` skill (loads polish.md) |
88
- | Brand work | `impeccable` skill (loads brand.md) |
89
- | Product UI | `impeccable` skill (loads product.md) |