maskweaver 0.8.16 β†’ 0.9.1

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 (36) hide show
  1. package/README.ko.md +640 -657
  2. package/README.md +672 -689
  3. package/assets/commands/meta/commands.json +254 -0
  4. package/assets/commands/weave-agents.md +62 -0
  5. package/assets/commands/weave-approve.md +61 -0
  6. package/assets/commands/weave-build.md +99 -0
  7. package/assets/commands/weave-help.md +114 -158
  8. package/assets/commands/weave-interview.md +121 -0
  9. package/assets/commands/weave-map.md +109 -0
  10. package/assets/commands/weave-troubleshoot.md +57 -0
  11. package/dist/plugin/index.d.ts +5 -1
  12. package/dist/plugin/index.d.ts.map +1 -1
  13. package/dist/plugin/index.js +20 -17
  14. package/dist/plugin/index.js.map +1 -1
  15. package/dist/plugin/tools/command-registry.d.ts +51 -0
  16. package/dist/plugin/tools/command-registry.d.ts.map +1 -0
  17. package/dist/plugin/tools/command-registry.js +348 -0
  18. package/dist/plugin/tools/command-registry.js.map +1 -0
  19. package/dist/plugin/tools/slashcommand.d.ts +1 -1
  20. package/dist/plugin/tools/slashcommand.d.ts.map +1 -1
  21. package/dist/plugin/tools/slashcommand.js +47 -193
  22. package/dist/plugin/tools/slashcommand.js.map +1 -1
  23. package/dist/plugin/tools/weave.d.ts +14 -35
  24. package/dist/plugin/tools/weave.d.ts.map +1 -1
  25. package/dist/plugin/tools/weave.js +247 -213
  26. package/dist/plugin/tools/weave.js.map +1 -1
  27. package/dist/version.d.ts +1 -1
  28. package/dist/version.js +1 -1
  29. package/package.json +142 -142
  30. package/assets/commands/weave-approve-plan.md +0 -57
  31. package/assets/commands/weave-design.md +0 -296
  32. package/assets/commands/weave-flow.md +0 -48
  33. package/assets/commands/weave-plan.md +0 -15
  34. package/assets/commands/weave-research.md +0 -51
  35. package/assets/commands/weave-spec.md +0 -227
  36. package/assets/commands/weave-switch.md +0 -170
package/README.md CHANGED
@@ -1,689 +1,672 @@
1
- # 🎭 Maskweaver: Expert Persona Framework for OpenCode
2
-
3
- <div align="center">
4
-
5
- <img src="docs/images/hero.png" width="800" alt="Maskweaver Hero Image">
6
-
7
- > **The npm for AI personas** β€” Level up your OpenCode assistant with expert personalities
8
-
9
- [![GitHub Release](https://img.shields.io/github/v/release/ulgerang/maskweaver?color=369eff&labelColor=black&logo=github&style=flat-square)](https://github.com/ulgerang/maskweaver/releases)
10
- [![License](https://img.shields.io/badge/license-MIT-white?labelColor=black&style=flat-square)](LICENSE)
11
- [![npm](https://img.shields.io/npm/v/maskweaver?color=ff6b35&labelColor=black&style=flat-square)](https://www.npmjs.com/package/maskweaver)
12
-
13
- [English](README.md) | [ν•œκ΅­μ–΄](README.ko.md)
14
-
15
- </div>
16
-
17
- ---
18
-
19
- ## πŸ”Œ OpenCode Plugin
20
-
21
- **Maskweaver is a handy plugin for [OpenCode](https://github.com/sst/opencode).**
22
-
23
- While it can be used as a standalone library, it works great with OpenCode to add expert personas to your coding workflow:
24
- - **Expert Personas (Masks)**: Standardized YAML profiles for legendary developers.
25
- - **Smart Delegation**: Multi-agent workflows optimized for OpenCode.
26
- - **Project Memory**: Hybrid semantic search for your entire codebase.
27
- - **πŸ†• Weave Workflow**: Phase-driven development with AI self-verification.
28
- - **πŸ”— GDC Integration**: Graph-Driven Codebase support for enhanced research and design-time verification gates.
29
-
30
- ---
31
-
32
- ## Why Maskweaver?
33
-
34
- You're stuck debugging a race condition. Wouldn't it be great if **Linus Torvalds** could review your code?
35
-
36
- ```typescript
37
- // Instead of generic AI response...
38
- "You have a potential race condition in your code."
39
-
40
- // Get Linus-level insight:
41
- "This is stupid. You're not even using memory barriers. Read the
42
- assembly - the compiler reordered your loads. Use smp_rmb() or
43
- better yet, redesign this without the stupid lock."
44
- ```
45
-
46
- **Maskweaver makes this real.** It gives AI assistants expert personas (masks) with deep domain knowledge and distinct thinking styles.
47
-
48
- ---
49
-
50
- ## Installation
51
-
52
- ### For Humans
53
-
54
- Copy and paste this prompt to your LLM agent (Claude Code, AmpCode, Cursor, etc.):
55
-
56
- ```
57
- Install and configure maskweaver by following the instructions here:
58
- https://raw.githubusercontent.com/ulgerang/maskweaver/master/docs/installation.md
59
- ```
60
-
61
- Or read the [Installation Guide](docs/installation.md) directlyβ€”but **we strongly recommend letting an agent handle it. Humans make mistakes.**
62
-
63
- ### For LLM Agents
64
-
65
- Fetch the installation guide and follow it:
66
-
67
- ```bash
68
- curl -s https://raw.githubusercontent.com/ulgerang/maskweaver/master/docs/installation.md
69
- ```
70
-
71
- ### Quick Install
72
-
73
- ```bash
74
- # npm
75
- npm install maskweaver
76
-
77
- # bun
78
- bun add maskweaver
79
- ```
80
-
81
- ### OpenCode Plugin Setup
82
-
83
- Add to your OpenCode config - that's it!
84
-
85
- **Global** (`~/.config/opencode/opencode.json`):
86
- ```json
87
- {
88
- "plugin": ["maskweaver"]
89
- }
90
- ```
91
-
92
- **Or per-project** (`opencode.json` in project root):
93
- ```json
94
- {
95
- "plugin": ["maskweaver"]
96
- }
97
- ```
98
-
99
- > Note: OpenCode installs npm packages by name. Use `maskweaver` (not `maskweaver/plugin`).
100
-
101
- OpenCode automatically installs the plugin to `~/.cache/opencode/node_modules/` on startup.
102
-
103
- **Windows:** `%USERPROFILE%\.config\opencode\opencode.json`
104
-
105
- ### Completion Sound (Optional)
106
-
107
- Maskweaver can play a notification sound when generation finishes (`session.idle`).
108
-
109
- Create `.opencode/maskweaver.json` (project) or `~/.config/opencode/maskweaver.json` (global):
110
-
111
- ```jsonc
112
- {
113
- "notifications": {
114
- "completionSound": {
115
- "enabled": true
116
- }
117
- }
118
- }
119
- ```
120
-
121
- Turn it off:
122
-
123
- ```jsonc
124
- {
125
- "notifications": {
126
- "completionSound": {
127
- "enabled": false
128
- }
129
- }
130
- }
131
- ```
132
-
133
- ### Checking Installed Version
134
-
135
- Multiple ways to verify your Maskweaver version:
136
-
137
- ```bash
138
- # CLI (terminal)
139
- maskweaver --version
140
- # or
141
- maskweaver -V
142
-
143
- # npm
144
- npm list maskweaver
145
-
146
- # In OpenCode chat
147
- # Use the maskweaver_status tool or type:
148
- /weave help
149
- ```
150
-
151
- ```typescript
152
- // Programmatic (Node.js / TypeScript)
153
- import { VERSION } from 'maskweaver';
154
- console.log(VERSION); // "0.7.29"
155
- ```
156
-
157
- ---
158
-
159
- ## Quick Start
160
-
161
- ### First Use
162
-
163
- ```bash
164
- # In your AI assistant chat:
165
- @maskweaver Use Linus Torvalds mask to review this C code
166
-
167
- # Or delegate to dummy-humans:
168
- @dummy-human Linus mask: review my multithreading code
169
- @dummy-flash Find all files with "unsafe" in them
170
- @dummy-premium Design microservices architecture for this monolith
171
- ```
172
-
173
- ---
174
-
175
- ## Features
176
-
177
- ### 🎭 Expert Personas (Masks)
178
-
179
- Apply legendary developer personalities to your AI assistant:
180
-
181
- ```yaml
182
- # masks/software-engineering/linus-torvalds.yaml
183
- profile:
184
- name: Linus Torvalds
185
- expertise:
186
- - Kernel-level systems programming
187
- - Performance optimization
188
- - Memory management and concurrency
189
-
190
- thinkingStyle: |
191
- Bottom-up, pragmatic. Starts with code, not theory.
192
- Ruthlessly eliminates complexity.
193
- ```
194
-
195
- **Current Masks:**
196
- - 🐧 **Linus Torvalds** - Systems, C, Linux, performance
197
- - πŸ—οΈ **Martin Fowler** - Architecture, refactoring, patterns
198
- - πŸ§ͺ **Kent Beck** - TDD, XP, testing
199
- - 🧠 **Andrew Ng** - ML/AI systems
200
- - βš›οΈ **Dan Abramov** - React, frontend architecture
201
-
202
- ### πŸ€– Dummy-Human System
203
-
204
- Smart subagents for cost-efficient multi-agent workflows:
205
-
206
- | Agent | Model Tier | Cost | Best For |
207
- |-------|-----------|------|----------|
208
- | `@dummy-flash` | Fast | πŸ’° | File search, summaries, simple tasks |
209
- | `@dummy-human` | Balanced | πŸ’°πŸ’° | Code writing, reviews, general work |
210
- | `@dummy-premium` | Powerful | πŸ’°πŸ’°πŸ’° | Architecture, complex debugging |
211
-
212
- ### 🧡 Weave Workflow
213
-
214
- **Phase-Driven Development** β€” "AI verifies, Human validates"
215
-
216
- Weave is Maskweaver's flagship workflow. It breaks work into testable phases, auto-selects expert masks, and provides structured verification before handoff.
217
-
218
- #### Commands
219
-
220
- | Command | Description |
221
- |---------|-------------|
222
- | `/weave init` | Initialize Weave (once per repo) |
223
- | `/weave research [docs]` | Deep-read docs + workspace context and generate persistent `tasks/research.md` |
224
- | `/weave prepare [docs]` | (Manual path) Generate research + baseline spec + phase plan (auto-split if oversized) |
225
- | `/weave refine-plan` | Apply structured plan notes (`tasks/plan-notes.md`) to active plan |
226
- | `/weave approve-plan` | Explicit human approval gate before implementation |
227
- | `/weave flow [docs]` | (Recommended) One-command path: prepare -> auto-approve -> craft -> verify -> finalize |
228
- | `/weave spec [docs]` | Generate baseline spec only (optional) |
229
- | `/weave design [docs]` | Analyze requirements β†’ Generate phase plan (`/weave plan` alias, auto-split if oversized) |
230
- | `/weave craft [P#]` | Prepare phase execution context and guidance |
231
- | `/weave verify` | Run build/test verification (auto-detect) |
232
- | `/weave worktree ...` | Manage git worktrees for parallel work |
233
- | `/weave status` | View project progress and stats |
234
- | `/weave help` | Show documentation |
235
-
236
- > Tip: In OpenCode chat you can use `/weave ...` commands, and they map to the underlying `weave command=...` tool calls.
237
-
238
- #### Workflow
239
-
240
- ```
241
- 0. INIT (once): /weave init
242
- ↓
243
- 1. ONE-COMMAND (recommended): /weave flow docs/
244
- - runs: prepare -> auto-approve -> craft -> verify -> finalize
245
- ↓
246
- (or manual path)
247
- ↓
248
- 2. PLAN (manual path): /weave prepare docs/
249
- - or: /weave research docs/ β†’ /weave spec docs/ β†’ /weave design docs/
250
- ↓
251
- 3. REFINE (optional): /weave refine-plan
252
- - apply annotation notes from tasks/plan-notes.md
253
- ↓
254
- 4. APPROVAL GATE: /weave approve-plan
255
- - required before craft execution
256
- ↓
257
- 5. CRAFT: /weave craft
258
- - Generates an execution plan and next actions
259
- - Implement/verify changes, then finalize with approve-plan
260
- - Use `/weave verify` anytime for build/test checks
261
- ↓
262
- 6. HANDOFF: You validate UX/intent and move to next phase
263
- ```
264
-
265
- #### Multi-Layer AI Verification
266
-
267
- Before handing off to you, AI runs these verification layers:
268
-
269
- | Layer | Type | Tool |
270
- |-------|------|------|
271
- | 1️⃣ TypeCheck | Build | `tsc --noEmit` |
272
- | 2️⃣ Lint | Build | `eslint` |
273
- | 3️⃣ Build | Build | `npm run build` |
274
- | 4️⃣ Unit Tests | Test | `jest` / `vitest` |
275
- | 5️⃣ E2E Tests | Test | **Playwright** |
276
- | 6️⃣ Screenshot | Visual | Playwright / browser capture |
277
- | 7️⃣ API Check | API | `fetch` health checks |
278
- | 8️⃣ A11y | Accessibility | `axe-core` |
279
- | 0️⃣ GDC Check | Design | `gdc check --machine` |
280
-
281
- #### GDC Integration (Graph-Driven Codebase)
282
-
283
- Weave integrates with [GDC](https://github.com/ulgerang/gdc) (Graph-Driven Codebase) to enhance research quality and add design-time verification gates:
284
-
285
- **Research Enhancement:**
286
- - Automatic `.gdc` workspace detection
287
- - `weave init` probe chain (`version`/`sync`/`check`/`stats`) for quick integration health check
288
- - GDC `stats`, `graph`, and `check` results embedded in `tasks/research.md`
289
- - Dependency blast radius analysis from graph edges
290
- - Candidate reuse nodes matched against feature keywords
291
- - New report sections: `GDC Node Coverage`, `Dependency Blast Radius`, `Existing Spec vs Implementation Drift`, `Candidate Reuse Nodes`
292
-
293
- **Execution Enhancements:**
294
- - `weave craft` can generate node context files via `gdc extract` and link them in `tasks/todo.md`
295
- - `weave status` includes GDC node/check metrics (`total/implemented/tested`, issue summary)
296
- - `weave worktree create` can bootstrap `.gdc/config.yaml` and `.gdc/nodes/**` (without `.gdc/graph.db`)
297
-
298
- **Pre-Verify Gate:**
299
- When GDC is detected, `weave verify` and `weave flow` automatically run:
300
- 1. `gdc sync --machine` - Sync specs with implementation
301
- 2. `gdc check --machine` - Validate spec/implementation alignment
302
-
303
- Blocking errors from GDC check will halt verification (configurable via `strictVerify` mode).
304
-
305
- **Configuration** (`maskweaver.config.json`):
306
- ```json
307
- {
308
- "gdc": {
309
- "enabled": "auto",
310
- "strictVerify": false,
311
- "autoSyncOnPrepare": true,
312
- "extractContext": {
313
- "withImpl": true,
314
- "withTests": true,
315
- "withCallers": true
316
- }
317
- }
318
- }
319
- ```
320
-
321
- - `enabled`: `true` | `false` | `"auto"` (default: auto-detect from `.gdc` directory)
322
- - `strictVerify`: If `true`, GDC check failures block verification; if `false`, continues with warning
323
- - `autoSyncOnPrepare`: Run `gdc sync` during `weave prepare`
324
- - `extractContext`: Controls `gdc extract` evidence flags during `weave craft`
325
-
326
- #### Autonomous Mask Selection
327
-
328
- The AI automatically picks the best expert for each task:
329
-
330
- | Task Type | Auto-Selected Mask |
331
- |-----------|-------------------|
332
- | Architecture/Design | πŸ—οΈ Martin Fowler |
333
- | Testing/TDD | πŸ§ͺ Kent Beck |
334
- | React/Frontend | βš›οΈ Dan Abramov |
335
- | Performance/Systems | 🐧 Linus Torvalds |
336
- | ML/AI | 🧠 Andrew Ng |
337
-
338
- #### Global Knowledge Base (Cross-Project RAG)
339
-
340
- Troubleshooting solutions are stored globally and shared across all projects:
341
-
342
- ```
343
- Error occurs β†’ Search ~/.maskweaver/knowledge.sqlite
344
- β”œβ”€β”€ Found β†’ Apply solution β†’ Retry
345
- └── Not found β†’ Fix manually β†’ Record solution for future
346
- ```
347
-
348
- ### 🧠 Memory System
349
-
350
- Remember past conversations, decisions, and mask effectiveness:
351
-
352
- ```typescript
353
- import { memory } from 'maskweaver';
354
-
355
- // Index your project knowledge
356
- await memory.indexFile('./docs/architecture.md', embedFn);
357
-
358
- // Semantic search with multiple providers:
359
- const results = await memory.hybridSearch(
360
- 'How does authentication work?',
361
- embedding,
362
- { limit: 5, minScore: 0.7 }
363
- );
364
- ```
365
-
366
- **Embedding Providers:**
367
- - πŸ¦™ **Ollama** - Local, private (bge-m3, nomic-embed)
368
- - πŸ€– **OpenAI** - text-embedding-3-large
369
- - πŸš€ **VoyageAI** - Code-specialized embeddings!
370
- - πŸ”€ **OpenRouter** - Access to multiple providers
371
- - πŸ“ **Text-only** - No embeddings, pure FTS5
372
-
373
- ### πŸ—‚οΈ Context System
374
-
375
- Track long-running features with file associations:
376
-
377
- ```bash
378
- # Start a feature
379
- @context start name="oauth-login" goal="Implement OAuth2 flow"
380
-
381
- # Add files to feature context
382
- @context add file="src/auth/oauth.ts"
383
-
384
- # Check status
385
- @context status
386
-
387
- # Mark as done
388
- @context done
389
- ```
390
-
391
- ### πŸ”„ Retrospect System
392
-
393
- Evaluate mask effectiveness after each session:
394
-
395
- ```typescript
396
- {
397
- "trigger": "session_end",
398
- "masksUsed": [
399
- {
400
- "name": "linus-torvalds",
401
- "task": "Review multithreading code",
402
- "effectiveness": 9.5
403
- }
404
- ],
405
- "wellDone": ["Found 3 critical race conditions"],
406
- "lessons": ["Linus mask excels at concurrency reviews"]
407
- }
408
- ```
409
-
410
- ---
411
-
412
- ## πŸ“¦ Package Structure
413
-
414
- Maskweaver is a single npm package with modular exports:
415
-
416
- ```typescript
417
- // Default export - OpenCode plugin
418
- import maskweaver from 'maskweaver';
419
-
420
- // Named exports - module namespaces
421
- import { core, memory, context, retrospect, verify, weave } from 'maskweaver';
422
-
423
- // Subpath imports - direct module access
424
- import { hybridSearch } from 'maskweaver/memory';
425
- import { createFeature } from 'maskweaver/context';
426
- import { MaskLoader } from 'maskweaver/core';
427
- import { WeaveOrchestrator, GlobalKnowledge } from 'maskweaver/weave';
428
- ```
429
-
430
- **Modules:**
431
- - `maskweaver/core` - Mask loading, validation (YAML/JSON)
432
- - `maskweaver/memory` - Embeddings + vector search (5 providers)
433
- - `maskweaver/context` - Feature-based work tracking
434
- - `maskweaver/verify` - Cross-mask code review
435
- - `maskweaver/retrospect` - Session effectiveness analysis
436
- - `maskweaver/weave` - Phase-driven development workflow
437
- - `maskweaver/gdc` - GDC (Graph-Driven Codebase) integration utilities
438
- - `maskweaver/plugin` - OpenCode plugin entry point
439
-
440
- ---
441
-
442
- ## 🧡 Weave Usage Guide
443
-
444
- ### Step 0: Initialize (Once)
445
-
446
- ```bash
447
- /weave init
448
- ```
449
-
450
- ### Step 1: Create a Plan (Flow Recommended)
451
-
452
- Fastest path (one command):
453
-
454
- ```bash
455
- /weave flow docs/
456
- ```
457
-
458
- This runs `prepare -> auto-approve -> craft -> verify -> finalize` in one shot.
459
-
460
- Manual happy path (research + spec + plan in one command):
461
-
462
- ```bash
463
- /weave prepare docs/
464
- /weave approve-plan
465
- ```
466
-
467
- Or run the full pipeline separately:
468
-
469
- ```bash
470
- /weave research docs/
471
- /weave spec docs/
472
- /weave design docs/
473
- /weave approve-plan
474
- ```
475
-
476
- The AI will:
477
- 1. Read all documents in the path
478
- 2. Search memory for similar past projects
479
- 3. Ask clarifying questions if needed
480
- 4. Present a **Phase Plan** for your approval
481
-
482
- Example output:
483
- ```markdown
484
- ## πŸ“‹ Execution Plan
485
-
486
- ### Vision
487
- Build a modern emotion diary app with AI-powered insights
488
-
489
- ### Phases
490
- | Phase | Name | Done When | Est. Time |
491
- |-------|------|-----------|-----------|
492
- | P1 | Emotion Selection UI | User can select emotions | 2-3h |
493
- | P2 | Data Persistence | Emotions saved to storage | 2-3h |
494
- | P3 | History View | User can view past entries | 2-3h |
495
-
496
- Is this plan okay? Let me know if changes are needed.
497
- ```
498
-
499
- ### Step 2: Approve the Plan (Required)
500
-
501
- ```bash
502
- /weave approve-plan
503
- ```
504
-
505
- ### Step 3: Craft a Phase (Auto-select if omitted)
506
-
507
- Start with the first phase:
508
-
509
- ```bash
510
- /weave craft
511
- ```
512
-
513
- `/weave craft` returns execution context for the phase. Implement changes, then rerun `/weave craft` if you want to refresh the plan view.
514
-
515
- ### Step 4: Continue Implementation
516
-
517
- ```txt
518
- weave command=craft phaseId="P1"
519
- weave command=verify
520
- ```
521
-
522
- One-command resume:
523
-
524
- ```txt
525
- weave command=flow
526
- ```
527
-
528
- ### Step 5: Finalize the Phase
529
-
530
- ```txt
531
- weave command=verify
532
- weave command=approve-plan
533
- ```
534
-
535
- ### Step 6: Handoff & Validate
536
-
537
- When all verifications pass:
538
-
539
- ```markdown
540
- ## βœ… Phase P1 Verification Complete!
541
-
542
- ### πŸ€– AI Test Results
543
- | Test | Result |
544
- |------|--------|
545
- | Build | βœ… Success |
546
- | Unit Tests | βœ… 15/15 |
547
- | Lint | βœ… Passed |
548
-
549
- ### 🎭 Masks Used
550
- - Kent Beck (testing)
551
- - Dan Abramov (React components)
552
-
553
- ### πŸ”— Access
554
- http://localhost:5173
555
-
556
- ### πŸ‘€ Human Validation (Only you can judge)
557
- - [ ] Does it feel right?
558
- - [ ] Is the UX good?
559
- - [ ] Is this what you wanted?
560
-
561
- **[Approve]** **[Request Changes]** **[Later]**
562
- ```
563
-
564
- ### Step 6: Check Status Anytime
565
-
566
- ```bash
567
- /weave status
568
- ```
569
-
570
- Output:
571
- ```markdown
572
- ## πŸ“Š Weave Progress
573
-
574
- **Project**: Emotion Diary App
575
- **Progress**: 40%
576
-
577
- [β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘] 2/5
578
-
579
- ### Phases
580
- βœ… **P1**: Emotion Selection UI (2.5h) [kent-beck, dan-abramov]
581
- πŸ”„ **P2**: Data Persistence
582
- ⏳ **P3**: History View
583
- ⏳ **P4**: Statistics
584
- ⏳ **P5**: Theme Settings
585
-
586
- ### Global Knowledge Stats
587
- - Total troubleshooting records: 47
588
- - Used in this project: 3
589
- - Newly recorded: 1
590
- ```
591
-
592
- ---
593
-
594
- ## 🎭 Creating Masks
595
-
596
- Masks are simple YAML files:
597
-
598
- ```yaml
599
- # masks/my-expert.yaml
600
- metadata:
601
- id: my-expert
602
- version: '1.0'
603
- language: en
604
-
605
- profile:
606
- name: Ada Lovelace
607
- tagline: Pioneer of Computing - First Programmer
608
-
609
- expertise:
610
- - Algorithm design
611
- - Mathematical thinking
612
- - Analytical engines
613
-
614
- thinkingStyle: |
615
- Combines mathematical rigor with poetic imagination.
616
- Sees patterns others miss.
617
-
618
- behavior:
619
- systemPrompt: |
620
- You are Ada Lovelace, the first computer programmer.
621
-
622
- You see algorithms as poetry - elegant, precise, beautiful.
623
- You think in terms of mathematical transformations and
624
- logical flows.
625
-
626
- communicationStyle:
627
- tone: thoughtful
628
- verbosity: moderate
629
- technicalDepth: expert
630
-
631
- usage:
632
- suitableFor:
633
- - Algorithm design and optimization
634
- - Mathematical problem-solving
635
- - Pattern recognition in code
636
- ```
637
-
638
- ---
639
-
640
- ## 🌍 Multilingual
641
-
642
- Infrastructure ready for:
643
- - πŸ‡ΊπŸ‡Έ English
644
- - πŸ‡°πŸ‡· Korean
645
- - πŸ‡¨πŸ‡³ Chinese *(coming soon)*
646
- - πŸ‡―πŸ‡΅ Japanese *(coming soon)*
647
-
648
- Masks can have multiple language versions:
649
- ```
650
- masks/
651
- β”œβ”€β”€ linus-torvalds.en.yaml
652
- β”œβ”€β”€ linus-torvalds.ko.yaml
653
- └── linus-torvalds.zh.yaml
654
- ```
655
-
656
- ---
657
-
658
- ## 🀝 Contributing
659
-
660
- We need your help!
661
-
662
- ### Add a Mask
663
-
664
- Create a YAML file in `masks/` and submit a PR:
665
- - βœ… Real expertise (domain knowledge)
666
- - βœ… Distinct personality (thinking style)
667
- - βœ… Clear use cases (when to use)
668
- - βœ… Examples (expected behavior)
669
-
670
- ### Report Bugs
671
-
672
- Open an issue with:
673
- 1. What you tried
674
- 2. What happened
675
- 3. What you expected
676
-
677
- See [CONTRIBUTING.md](CONTRIBUTING.md) for more details.
678
-
679
- ---
680
-
681
- ## πŸ“„ License
682
-
683
- MIT - See [LICENSE](LICENSE)
684
-
685
- ---
686
-
687
- <p align="center">
688
- <sub>Crafted with 🎭 by <a href="https://github.com/ulgerang">ULJI SOFT</a></sub>
689
- </p>
1
+ # 🎭 Maskweaver: Expert Persona Framework for OpenCode
2
+
3
+ <div align="center">
4
+
5
+ <img src="docs/images/hero.png" width="800" alt="Maskweaver Hero Image">
6
+
7
+ > **The npm for AI personas** β€” Level up your OpenCode assistant with expert personalities
8
+
9
+ [![GitHub Release](https://img.shields.io/github/v/release/ulgerang/maskweaver?color=369eff&labelColor=black&logo=github&style=flat-square)](https://github.com/ulgerang/maskweaver/releases)
10
+ [![License](https://img.shields.io/badge/license-MIT-white?labelColor=black&style=flat-square)](LICENSE)
11
+ [![npm](https://img.shields.io/npm/v/maskweaver?color=ff6b35&labelColor=black&style=flat-square)](https://www.npmjs.com/package/maskweaver)
12
+
13
+ [English](README.md) | [ν•œκ΅­μ–΄](README.ko.md)
14
+
15
+ </div>
16
+
17
+ ---
18
+
19
+ ## πŸ”Œ OpenCode Plugin
20
+
21
+ **Maskweaver is a handy plugin for [OpenCode](https://github.com/sst/opencode).**
22
+
23
+ While it can be used as a standalone library, it works great with OpenCode to add expert personas to your coding workflow:
24
+ - **Expert Personas (Masks)**: Standardized YAML profiles for legendary developers.
25
+ - **Smart Delegation**: Multi-agent workflows optimized for OpenCode.
26
+ - **Project Memory**: Hybrid semantic search for your entire codebase.
27
+ - **πŸ†• Weave Workflow**: Phase-driven development with AI self-verification.
28
+ - **πŸ”— GDC Integration**: Graph-Driven Codebase support for enhanced research and design-time verification gates.
29
+
30
+ ---
31
+
32
+ ## Why Maskweaver?
33
+
34
+ You're stuck debugging a race condition. Wouldn't it be great if **Linus Torvalds** could review your code?
35
+
36
+ ```typescript
37
+ // Instead of generic AI response...
38
+ "You have a potential race condition in your code."
39
+
40
+ // Get Linus-level insight:
41
+ "This is stupid. You're not even using memory barriers. Read the
42
+ assembly - the compiler reordered your loads. Use smp_rmb() or
43
+ better yet, redesign this without the stupid lock."
44
+ ```
45
+
46
+ **Maskweaver makes this real.** It gives AI assistants expert personas (masks) with deep domain knowledge and distinct thinking styles.
47
+
48
+ ---
49
+
50
+ ## Installation
51
+
52
+ ### For Humans
53
+
54
+ Copy and paste this prompt to your LLM agent (Claude Code, AmpCode, Cursor, etc.):
55
+
56
+ ```
57
+ Install and configure maskweaver by following the instructions here:
58
+ https://raw.githubusercontent.com/ulgerang/maskweaver/master/docs/installation.md
59
+ ```
60
+
61
+ Or read the [Installation Guide](docs/installation.md) directlyβ€”but **we strongly recommend letting an agent handle it. Humans make mistakes.**
62
+
63
+ ### For LLM Agents
64
+
65
+ Fetch the installation guide and follow it:
66
+
67
+ ```bash
68
+ curl -s https://raw.githubusercontent.com/ulgerang/maskweaver/master/docs/installation.md
69
+ ```
70
+
71
+ ### Quick Install
72
+
73
+ ```bash
74
+ # npm
75
+ npm install maskweaver
76
+
77
+ # bun
78
+ bun add maskweaver
79
+ ```
80
+
81
+ ### OpenCode Plugin Setup
82
+
83
+ Add to your OpenCode config - that's it!
84
+
85
+ **Global** (`~/.config/opencode/opencode.json`):
86
+ ```json
87
+ {
88
+ "plugin": ["maskweaver"]
89
+ }
90
+ ```
91
+
92
+ **Or per-project** (`opencode.json` in project root):
93
+ ```json
94
+ {
95
+ "plugin": ["maskweaver"]
96
+ }
97
+ ```
98
+
99
+ > Note: OpenCode installs npm packages by name. Use `maskweaver` (not `maskweaver/plugin`).
100
+
101
+ OpenCode automatically installs the plugin to `~/.cache/opencode/node_modules/` on startup.
102
+
103
+ **Windows:** `%USERPROFILE%\.config\opencode\opencode.json`
104
+
105
+ ### Completion Sound (Optional)
106
+
107
+ Maskweaver can play a notification sound when generation finishes (`session.idle`).
108
+
109
+ Create `.opencode/maskweaver.json` (project) or `~/.config/opencode/maskweaver.json` (global):
110
+
111
+ ```jsonc
112
+ {
113
+ "notifications": {
114
+ "completionSound": {
115
+ "enabled": true
116
+ }
117
+ }
118
+ }
119
+ ```
120
+
121
+ Turn it off:
122
+
123
+ ```jsonc
124
+ {
125
+ "notifications": {
126
+ "completionSound": {
127
+ "enabled": false
128
+ }
129
+ }
130
+ }
131
+ ```
132
+
133
+ ### Checking Installed Version
134
+
135
+ Multiple ways to verify your Maskweaver version:
136
+
137
+ ```bash
138
+ # CLI (terminal)
139
+ maskweaver --version
140
+ # or
141
+ maskweaver -V
142
+
143
+ # npm
144
+ npm list maskweaver
145
+
146
+ # In OpenCode chat
147
+ # Use the maskweaver_status tool or type:
148
+ /weave help
149
+ ```
150
+
151
+ ```typescript
152
+ // Programmatic (Node.js / TypeScript)
153
+ import { VERSION } from 'maskweaver';
154
+ console.log(VERSION); // "0.7.29"
155
+ ```
156
+
157
+ ---
158
+
159
+ ## Quick Start
160
+
161
+ ### First Use
162
+
163
+ ```bash
164
+ # In your AI assistant chat:
165
+ @maskweaver Use Linus Torvalds mask to review this C code
166
+
167
+ # Or delegate to dummy-humans:
168
+ @dummy-human Linus mask: review my multithreading code
169
+ @dummy-flash Find all files with "unsafe" in them
170
+ @dummy-premium Design microservices architecture for this monolith
171
+ ```
172
+
173
+ ---
174
+
175
+ ## Features
176
+
177
+ ### 🎭 Expert Personas (Masks)
178
+
179
+ Apply legendary developer personalities to your AI assistant:
180
+
181
+ ```yaml
182
+ # masks/software-engineering/linus-torvalds.yaml
183
+ profile:
184
+ name: Linus Torvalds
185
+ expertise:
186
+ - Kernel-level systems programming
187
+ - Performance optimization
188
+ - Memory management and concurrency
189
+
190
+ thinkingStyle: |
191
+ Bottom-up, pragmatic. Starts with code, not theory.
192
+ Ruthlessly eliminates complexity.
193
+ ```
194
+
195
+ **Current Masks:**
196
+ - 🐧 **Linus Torvalds** - Systems, C, Linux, performance
197
+ - πŸ—οΈ **Martin Fowler** - Architecture, refactoring, patterns
198
+ - πŸ§ͺ **Kent Beck** - TDD, XP, testing
199
+ - 🧠 **Andrew Ng** - ML/AI systems
200
+ - βš›οΈ **Dan Abramov** - React, frontend architecture
201
+
202
+ ### πŸ€– Dummy-Human System
203
+
204
+ Smart subagents for cost-efficient multi-agent workflows:
205
+
206
+ | Agent | Model Tier | Cost | Best For |
207
+ |-------|-----------|------|----------|
208
+ | `@dummy-flash` | Fast | πŸ’° | File search, summaries, simple tasks |
209
+ | `@dummy-human` | Balanced | πŸ’°πŸ’° | Code writing, reviews, general work |
210
+ | `@dummy-premium` | Powerful | πŸ’°πŸ’°πŸ’° | Architecture, complex debugging |
211
+
212
+ ### 🧡 Weave Workflow
213
+
214
+ **Phase-Driven Development** β€” "AI verifies, Human validates"
215
+
216
+ Weave is Maskweaver's flagship workflow. It breaks work into testable phases, auto-selects expert masks, and provides structured verification before handoff.
217
+
218
+ #### Commands
219
+
220
+ | Command | Description |
221
+ |---------|-------------|
222
+ | `/weave init` | Initialize Weave (once per repo) |
223
+ | `/weave prepare [docs]` | Generate research + spec + plan in one step (auto-split if oversized) |
224
+ | `/weave refine-plan` | Apply structured plan notes (`tasks/plan-notes.md`) to active plan |
225
+ | `/weave approve` | Explicit human approval gate before implementation |
226
+ | `/weave craft [P#]` | Prepare phase execution context and guidance |
227
+ | `/weave build` | Autonomous build loop (`action=run/status/stop/list/resume/sync`) |
228
+ | `/weave verify` | Run build/test verification (auto-detect) |
229
+ | `/weave worktree ...` | Manage git worktrees for parallel work |
230
+ | `/weave status` | View project progress and stats |
231
+ | `/weave agents` | Sync agent files or init config (`sync=true` / `init=true`) |
232
+ | `/weave troubleshoot` | Search global knowledge (`record=true` to save a solution) |
233
+ | `/weave archive` | Archive the verified active change |
234
+ | `/weave help` | Show documentation |
235
+
236
+ > Tip: In OpenCode chat you can use `/weave ...` commands, and they map to the underlying `weave command=...` tool calls.
237
+
238
+ #### Workflow
239
+
240
+ ```
241
+ 0. INIT (once): /weave init
242
+ ↓
243
+ 1. PLAN: /weave prepare docs/
244
+ - Generates research + spec + phase plan (auto-splits if oversized)
245
+ ↓
246
+ 2. REFINE (optional): /weave refine-plan
247
+ - apply annotation notes from tasks/plan-notes.md
248
+ ↓
249
+ 3. APPROVAL GATE: /weave approve
250
+ - required before craft execution
251
+ ↓
252
+ 4. CRAFT: /weave craft
253
+ - Generates an execution plan and next actions
254
+ - Implement/verify changes, then finalize with approve
255
+ - Use `/weave verify` anytime for build/test checks
256
+ ↓
257
+ 5. HANDOFF: You validate UX/intent and move to next phase
258
+ ```
259
+
260
+ #### Multi-Layer AI Verification
261
+
262
+ Before handing off to you, AI runs these verification layers:
263
+
264
+ | Layer | Type | Tool |
265
+ |-------|------|------|
266
+ | 1️⃣ TypeCheck | Build | `tsc --noEmit` |
267
+ | 2️⃣ Lint | Build | `eslint` |
268
+ | 3️⃣ Build | Build | `npm run build` |
269
+ | 4️⃣ Unit Tests | Test | `jest` / `vitest` |
270
+ | 5️⃣ E2E Tests | Test | **Playwright** |
271
+ | 6️⃣ Screenshot | Visual | Playwright / browser capture |
272
+ | 7️⃣ API Check | API | `fetch` health checks |
273
+ | 8️⃣ A11y | Accessibility | `axe-core` |
274
+ | 0️⃣ GDC Check | Design | `gdc check --machine` |
275
+
276
+ #### GDC Integration (Graph-Driven Codebase)
277
+
278
+ Weave integrates with [GDC](https://github.com/ulgerang/gdc) (Graph-Driven Codebase) to enhance research quality and add design-time verification gates:
279
+
280
+ **Research Enhancement:**
281
+ - Automatic `.gdc` workspace detection
282
+ - `weave init` probe chain (`version`/`sync`/`check`/`stats`) for quick integration health check
283
+ - GDC `stats`, `graph`, and `check` results embedded in `tasks/research.md`
284
+ - Dependency blast radius analysis from graph edges
285
+ - Candidate reuse nodes matched against feature keywords
286
+ - New report sections: `GDC Node Coverage`, `Dependency Blast Radius`, `Existing Spec vs Implementation Drift`, `Candidate Reuse Nodes`
287
+
288
+ **Execution Enhancements:**
289
+ - `weave craft` can generate node context files via `gdc extract` and link them in `tasks/todo.md`
290
+ - `weave status` includes GDC node/check metrics (`total/implemented/tested`, issue summary)
291
+ - `weave worktree create` can bootstrap `.gdc/config.yaml` and `.gdc/nodes/**` (without `.gdc/graph.db`)
292
+
293
+ **Pre-Verify Gate:**
294
+ When GDC is detected, `weave verify` and `weave flow` automatically run:
295
+ 1. `gdc sync --machine` - Sync specs with implementation
296
+ 2. `gdc check --machine` - Validate spec/implementation alignment
297
+
298
+ Blocking errors from GDC check will halt verification (configurable via `strictVerify` mode).
299
+
300
+ **Configuration** (`maskweaver.config.json`):
301
+ ```json
302
+ {
303
+ "gdc": {
304
+ "enabled": "auto",
305
+ "strictVerify": false,
306
+ "autoSyncOnPrepare": true,
307
+ "extractContext": {
308
+ "withImpl": true,
309
+ "withTests": true,
310
+ "withCallers": true
311
+ }
312
+ }
313
+ }
314
+ ```
315
+
316
+ - `enabled`: `true` | `false` | `"auto"` (default: auto-detect from `.gdc` directory)
317
+ - `strictVerify`: If `true`, GDC check failures block verification; if `false`, continues with warning
318
+ - `autoSyncOnPrepare`: Run `gdc sync` during `weave prepare`
319
+ - `extractContext`: Controls `gdc extract` evidence flags during `weave craft`
320
+
321
+ #### Autonomous Mask Selection
322
+
323
+ The AI automatically picks the best expert for each task:
324
+
325
+ | Task Type | Auto-Selected Mask |
326
+ |-----------|-------------------|
327
+ | Architecture/Design | πŸ—οΈ Martin Fowler |
328
+ | Testing/TDD | πŸ§ͺ Kent Beck |
329
+ | React/Frontend | βš›οΈ Dan Abramov |
330
+ | Performance/Systems | 🐧 Linus Torvalds |
331
+ | ML/AI | 🧠 Andrew Ng |
332
+
333
+ #### Global Knowledge Base (Cross-Project RAG)
334
+
335
+ Troubleshooting solutions are stored globally and shared across all projects:
336
+
337
+ ```
338
+ Error occurs β†’ Search ~/.maskweaver/knowledge.sqlite
339
+ β”œβ”€β”€ Found β†’ Apply solution β†’ Retry
340
+ └── Not found β†’ Fix manually β†’ Record solution for future
341
+ ```
342
+
343
+ ### 🧠 Memory System
344
+
345
+ Remember past conversations, decisions, and mask effectiveness:
346
+
347
+ ```typescript
348
+ import { memory } from 'maskweaver';
349
+
350
+ // Index your project knowledge
351
+ await memory.indexFile('./docs/architecture.md', embedFn);
352
+
353
+ // Semantic search with multiple providers:
354
+ const results = await memory.hybridSearch(
355
+ 'How does authentication work?',
356
+ embedding,
357
+ { limit: 5, minScore: 0.7 }
358
+ );
359
+ ```
360
+
361
+ **Embedding Providers:**
362
+ - πŸ¦™ **Ollama** - Local, private (bge-m3, nomic-embed)
363
+ - πŸ€– **OpenAI** - text-embedding-3-large
364
+ - πŸš€ **VoyageAI** - Code-specialized embeddings!
365
+ - πŸ”€ **OpenRouter** - Access to multiple providers
366
+ - πŸ“ **Text-only** - No embeddings, pure FTS5
367
+
368
+ ### πŸ—‚οΈ Context System
369
+
370
+ Track long-running features with file associations:
371
+
372
+ ```bash
373
+ # Start a feature
374
+ @context start name="oauth-login" goal="Implement OAuth2 flow"
375
+
376
+ # Add files to feature context
377
+ @context add file="src/auth/oauth.ts"
378
+
379
+ # Check status
380
+ @context status
381
+
382
+ # Mark as done
383
+ @context done
384
+ ```
385
+
386
+ ### πŸ”„ Retrospect System
387
+
388
+ Evaluate mask effectiveness after each session:
389
+
390
+ ```typescript
391
+ {
392
+ "trigger": "session_end",
393
+ "masksUsed": [
394
+ {
395
+ "name": "linus-torvalds",
396
+ "task": "Review multithreading code",
397
+ "effectiveness": 9.5
398
+ }
399
+ ],
400
+ "wellDone": ["Found 3 critical race conditions"],
401
+ "lessons": ["Linus mask excels at concurrency reviews"]
402
+ }
403
+ ```
404
+
405
+ ---
406
+
407
+ ## πŸ“¦ Package Structure
408
+
409
+ Maskweaver is a single npm package with modular exports:
410
+
411
+ ```typescript
412
+ // Default export - OpenCode plugin
413
+ import maskweaver from 'maskweaver';
414
+
415
+ // Named exports - module namespaces
416
+ import { core, memory, context, retrospect, verify, weave } from 'maskweaver';
417
+
418
+ // Subpath imports - direct module access
419
+ import { hybridSearch } from 'maskweaver/memory';
420
+ import { createFeature } from 'maskweaver/context';
421
+ import { MaskLoader } from 'maskweaver/core';
422
+ import { WeaveOrchestrator, GlobalKnowledge } from 'maskweaver/weave';
423
+ ```
424
+
425
+ **Modules:**
426
+ - `maskweaver/core` - Mask loading, validation (YAML/JSON)
427
+ - `maskweaver/memory` - Embeddings + vector search (5 providers)
428
+ - `maskweaver/context` - Feature-based work tracking
429
+ - `maskweaver/verify` - Cross-mask code review
430
+ - `maskweaver/retrospect` - Session effectiveness analysis
431
+ - `maskweaver/weave` - Phase-driven development workflow
432
+ - `maskweaver/gdc` - GDC (Graph-Driven Codebase) integration utilities
433
+ - `maskweaver/plugin` - OpenCode plugin entry point
434
+
435
+ ---
436
+
437
+ ## 🧡 Weave Usage Guide
438
+
439
+ ### Step 0: Initialize (Once)
440
+
441
+ ```bash
442
+ /weave init
443
+ ```
444
+
445
+ ### Step 1: Create a Plan
446
+
447
+ Generate research + spec + plan in one command:
448
+
449
+ ```bash
450
+ /weave prepare docs/
451
+ ```
452
+
453
+ Then approve the plan:
454
+
455
+ ```bash
456
+ /weave approve
457
+ ```
458
+
459
+ The AI will:
460
+ 1. Read all documents in the path
461
+ 2. Search memory for similar past projects
462
+ 3. Ask clarifying questions if needed
463
+ 4. Present a **Phase Plan** for your approval
464
+
465
+ Example output:
466
+ ```markdown
467
+ ## πŸ“‹ Execution Plan
468
+
469
+ ### Vision
470
+ Build a modern emotion diary app with AI-powered insights
471
+
472
+ ### Phases
473
+ | Phase | Name | Done When | Est. Time |
474
+ |-------|------|-----------|-----------|
475
+ | P1 | Emotion Selection UI | User can select emotions | 2-3h |
476
+ | P2 | Data Persistence | Emotions saved to storage | 2-3h |
477
+ | P3 | History View | User can view past entries | 2-3h |
478
+
479
+ Is this plan okay? Let me know if changes are needed.
480
+ ```
481
+
482
+ ### Step 2: Approve the Plan (Required)
483
+
484
+ ```bash
485
+ /weave approve
486
+ ```
487
+
488
+ ### Step 3: Craft a Phase (Auto-select if omitted)
489
+
490
+ Start with the first phase:
491
+
492
+ ```bash
493
+ /weave craft
494
+ ```
495
+
496
+ `/weave craft` returns execution context for the phase. Implement changes, then rerun `/weave craft` if you want to refresh the plan view.
497
+
498
+ ### Step 4: Continue Implementation
499
+
500
+ ```txt
501
+ weave command=craft phaseId="P1"
502
+ weave command=verify
503
+ ```
504
+
505
+ Autonomous build loop:
506
+
507
+ ```txt
508
+ weave command=build action=run phaseIds="P1,P2"
509
+ ```
510
+
511
+ ### Step 5: Finalize the Phase
512
+
513
+ ```txt
514
+ weave command=verify
515
+ weave command=approve
516
+ ```
517
+
518
+ ### Step 6: Handoff & Validate
519
+
520
+ When all verifications pass:
521
+
522
+ ```markdown
523
+ ## βœ… Phase P1 Verification Complete!
524
+
525
+ ### πŸ€– AI Test Results
526
+ | Test | Result |
527
+ |------|--------|
528
+ | Build | βœ… Success |
529
+ | Unit Tests | βœ… 15/15 |
530
+ | Lint | βœ… Passed |
531
+
532
+ ### 🎭 Masks Used
533
+ - Kent Beck (testing)
534
+ - Dan Abramov (React components)
535
+
536
+ ### πŸ”— Access
537
+ http://localhost:5173
538
+
539
+ ### πŸ‘€ Human Validation (Only you can judge)
540
+ - [ ] Does it feel right?
541
+ - [ ] Is the UX good?
542
+ - [ ] Is this what you wanted?
543
+
544
+ **[Approve]** **[Request Changes]** **[Later]**
545
+ ```
546
+
547
+ ### Step 6: Check Status Anytime
548
+
549
+ ```bash
550
+ /weave status
551
+ ```
552
+
553
+ Output:
554
+ ```markdown
555
+ ## πŸ“Š Weave Progress
556
+
557
+ **Project**: Emotion Diary App
558
+ **Progress**: 40%
559
+
560
+ [β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘] 2/5
561
+
562
+ ### Phases
563
+ βœ… **P1**: Emotion Selection UI (2.5h) [kent-beck, dan-abramov]
564
+ πŸ”„ **P2**: Data Persistence
565
+ ⏳ **P3**: History View
566
+ ⏳ **P4**: Statistics
567
+ ⏳ **P5**: Theme Settings
568
+
569
+ ### Global Knowledge Stats
570
+ - Total troubleshooting records: 47
571
+ - Used in this project: 3
572
+ - Newly recorded: 1
573
+ ```
574
+
575
+ ---
576
+
577
+ ## 🎭 Creating Masks
578
+
579
+ Masks are simple YAML files:
580
+
581
+ ```yaml
582
+ # masks/my-expert.yaml
583
+ metadata:
584
+ id: my-expert
585
+ version: '1.0'
586
+ language: en
587
+
588
+ profile:
589
+ name: Ada Lovelace
590
+ tagline: Pioneer of Computing - First Programmer
591
+
592
+ expertise:
593
+ - Algorithm design
594
+ - Mathematical thinking
595
+ - Analytical engines
596
+
597
+ thinkingStyle: |
598
+ Combines mathematical rigor with poetic imagination.
599
+ Sees patterns others miss.
600
+
601
+ behavior:
602
+ systemPrompt: |
603
+ You are Ada Lovelace, the first computer programmer.
604
+
605
+ You see algorithms as poetry - elegant, precise, beautiful.
606
+ You think in terms of mathematical transformations and
607
+ logical flows.
608
+
609
+ communicationStyle:
610
+ tone: thoughtful
611
+ verbosity: moderate
612
+ technicalDepth: expert
613
+
614
+ usage:
615
+ suitableFor:
616
+ - Algorithm design and optimization
617
+ - Mathematical problem-solving
618
+ - Pattern recognition in code
619
+ ```
620
+
621
+ ---
622
+
623
+ ## 🌍 Multilingual
624
+
625
+ Infrastructure ready for:
626
+ - πŸ‡ΊπŸ‡Έ English
627
+ - πŸ‡°πŸ‡· Korean
628
+ - πŸ‡¨πŸ‡³ Chinese *(coming soon)*
629
+ - πŸ‡―πŸ‡΅ Japanese *(coming soon)*
630
+
631
+ Masks can have multiple language versions:
632
+ ```
633
+ masks/
634
+ β”œβ”€β”€ linus-torvalds.en.yaml
635
+ β”œβ”€β”€ linus-torvalds.ko.yaml
636
+ └── linus-torvalds.zh.yaml
637
+ ```
638
+
639
+ ---
640
+
641
+ ## 🀝 Contributing
642
+
643
+ We need your help!
644
+
645
+ ### Add a Mask
646
+
647
+ Create a YAML file in `masks/` and submit a PR:
648
+ - βœ… Real expertise (domain knowledge)
649
+ - βœ… Distinct personality (thinking style)
650
+ - βœ… Clear use cases (when to use)
651
+ - βœ… Examples (expected behavior)
652
+
653
+ ### Report Bugs
654
+
655
+ Open an issue with:
656
+ 1. What you tried
657
+ 2. What happened
658
+ 3. What you expected
659
+
660
+ See [CONTRIBUTING.md](CONTRIBUTING.md) for more details.
661
+
662
+ ---
663
+
664
+ ## πŸ“„ License
665
+
666
+ MIT - See [LICENSE](LICENSE)
667
+
668
+ ---
669
+
670
+ <p align="center">
671
+ <sub>Crafted with 🎭 by <a href="https://github.com/ulgerang">ULJI SOFT</a></sub>
672
+ </p>