fullerdev 0.1.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.
Files changed (59) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +276 -0
  3. package/bin/setup.js +119 -0
  4. package/dist/agents/designer.d.ts +6 -0
  5. package/dist/agents/designer.d.ts.map +1 -0
  6. package/dist/agents/devops.d.ts +7 -0
  7. package/dist/agents/devops.d.ts.map +1 -0
  8. package/dist/agents/explorer.d.ts +7 -0
  9. package/dist/agents/explorer.d.ts.map +1 -0
  10. package/dist/agents/fixer.d.ts +6 -0
  11. package/dist/agents/fixer.d.ts.map +1 -0
  12. package/dist/agents/librarian.d.ts +6 -0
  13. package/dist/agents/librarian.d.ts.map +1 -0
  14. package/dist/agents/oracle.d.ts +6 -0
  15. package/dist/agents/oracle.d.ts.map +1 -0
  16. package/dist/agents/orchestrator.d.ts +13 -0
  17. package/dist/agents/orchestrator.d.ts.map +1 -0
  18. package/dist/config/defaults.d.ts +14 -0
  19. package/dist/config/defaults.d.ts.map +1 -0
  20. package/dist/config/loader.d.ts +54 -0
  21. package/dist/config/loader.d.ts.map +1 -0
  22. package/dist/config/schema.d.ts +603 -0
  23. package/dist/config/schema.d.ts.map +1 -0
  24. package/dist/hooks/context-injection.d.ts +25 -0
  25. package/dist/hooks/context-injection.d.ts.map +1 -0
  26. package/dist/hooks/devops-integration.d.ts +31 -0
  27. package/dist/hooks/devops-integration.d.ts.map +1 -0
  28. package/dist/hooks/index.d.ts +46 -0
  29. package/dist/hooks/index.d.ts.map +1 -0
  30. package/dist/hooks/session-lifecycle.d.ts +15 -0
  31. package/dist/hooks/session-lifecycle.d.ts.map +1 -0
  32. package/dist/hooks/todo-continuation.d.ts +17 -0
  33. package/dist/hooks/todo-continuation.d.ts.map +1 -0
  34. package/dist/index.d.ts +31 -0
  35. package/dist/index.d.ts.map +1 -0
  36. package/dist/index.js +1261 -0
  37. package/dist/mcp/index.d.ts +31 -0
  38. package/dist/mcp/index.d.ts.map +1 -0
  39. package/dist/tools/azure/git.d.ts +26 -0
  40. package/dist/tools/azure/git.d.ts.map +1 -0
  41. package/dist/tools/azure/index.d.ts +6 -0
  42. package/dist/tools/azure/index.d.ts.map +1 -0
  43. package/dist/tools/azure/pipelines.d.ts +18 -0
  44. package/dist/tools/azure/pipelines.d.ts.map +1 -0
  45. package/dist/tools/azure/wiki.d.ts +18 -0
  46. package/dist/tools/azure/wiki.d.ts.map +1 -0
  47. package/dist/tools/azure/work-items.d.ts +26 -0
  48. package/dist/tools/azure/work-items.d.ts.map +1 -0
  49. package/dist/tools/core/index.d.ts +17 -0
  50. package/dist/tools/core/index.d.ts.map +1 -0
  51. package/dist/tools/index.d.ts +7 -0
  52. package/dist/tools/index.d.ts.map +1 -0
  53. package/fullerdev.schema.json +117 -0
  54. package/package.json +65 -0
  55. package/src/skills/agent-browser/SKILL.md +31 -0
  56. package/src/skills/azure-devops/SKILL.md +99 -0
  57. package/src/skills/frontend-ui-ux/SKILL.md +62 -0
  58. package/src/skills/gitmaster/SKILL.md +52 -0
  59. package/src/skills/simplify/SKILL.md +50 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Arthur
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,276 @@
1
+ # fullerdev
2
+
3
+ > Opinionated OpenCode plugin for Azure DevOps-native multi-agent orchestration.
4
+
5
+ **7 specialized subagents** working under one orchestrator, with built-in MCPs (DeepWiki, grep.app, Context7), Azure DevOps tools (Work Items, Git, Wiki, Pipelines), curated skills, and lifecycle hooks — all tuned for teams that live in Azure DevOps.
6
+
7
+ ---
8
+
9
+ ## What's This Plugin
10
+
11
+ `fullerdev` is an **agent orchestration plugin** for [OpenCode](https://opencode.ai). It's built on the same architecture as `oh-my-opencode-slim` but is **VERY opinionated** about Azure DevOps:
12
+
13
+ - Every commit links to a Work Item (`AB#`)
14
+ - Branch naming follows ADO conventions
15
+ - A dedicated `devops` agent handles all ADO operations
16
+ - Built-in tools speak fluent Azure DevOps REST API
17
+ - Skills teach agents the ADO workflow
18
+
19
+ ---
20
+
21
+ ## Quick Start
22
+
23
+ ### Install
24
+
25
+ ```bash
26
+ bunx fullerdev setup
27
+ ```
28
+
29
+ This adds `fullerdev` to your OpenCode plugins and generates a starter config.
30
+
31
+ ### Configure
32
+
33
+ Edit `~/.config/opencode/fullerdev.jsonc`:
34
+
35
+ ```jsonc
36
+ {
37
+ "$schema": "https://unpkg.com/fullerdev@latest/fullerdev.schema.json",
38
+ "preset": "opencode-go",
39
+ "azureDevOps": {
40
+ "orgUrl": "https://dev.azure.com/your-org",
41
+ "project": "YourProject",
42
+ "pat": "${AZURE_DEVOPS_EXT_PAT}"
43
+ }
44
+ }
45
+ ```
46
+
47
+ Set your PAT:
48
+
49
+ ```bash
50
+ export AZURE_DEVOPS_EXT_PAT="your-personal-access-token"
51
+ ```
52
+
53
+ ### Verify
54
+
55
+ ```bash
56
+ opencode
57
+ # Then type:
58
+ ping all agents
59
+ ```
60
+
61
+ ---
62
+
63
+ ## Meet the Agents
64
+
65
+ | Agent | Role | Default Model | When to Delegate |
66
+ |-------|------|---------------|-----------------|
67
+ | **Orchestrator** | Master delegator & strategic coordinator | `opencode-go/deepseek-v4-pro` | Main agent — plans, delegates, orchestrates |
68
+ | **Explorer** | Codebase reconnaissance | `opencode-go/minimax-m2.7` | Broad/uncertain searches, discovering codebase structure |
69
+ | **Oracle** | Architecture, review, debugging | `opencode-go/deepseek-v4-pro` (max) | High-stakes decisions, code review, simplification |
70
+ | **Librarian** | Documentation & external knowledge | `opencode-go/minimax-m2.7` | Library docs, API references, GitHub examples |
71
+ | **Designer** | UI/UX implementation | `opencode-go/kimi-k2.6` | Visual interfaces, responsive layouts, design systems |
72
+ | **Fixer** | Fast implementation | `opencode-go/deepseek-v4-flash` | Well-scoped code changes, tests, bounded tasks |
73
+ | **DevOps** | Azure DevOps specialist | `opencode-go/deepseek-v4-flash` | Work Items, Git repos, Wiki, Pipelines, any ADO API |
74
+
75
+ ---
76
+
77
+ ## Built-in MCPs
78
+
79
+ | MCP | Purpose | Assigned By Default |
80
+ |-----|---------|--------------------|
81
+ | **DeepWiki** | Official library documentation | Librarian |
82
+ | **grep_app** | GitHub code search (millions of repos) | Librarian, DevOps |
83
+ | **Context7** | Context-aware docs & optimization | Librarian |
84
+ | **WebSearch** | Real-time web search (Exa) | Librarian |
85
+
86
+ ---
87
+
88
+ ## Built-in Skills
89
+
90
+ | Skill | Description | Assigned By Default |
91
+ |-------|-------------|--------------------|
92
+ | `gitmaster` | Atomic commits with AB# linking, rebase/squash workflows | DevOps |
93
+ | `frontend-ui-ux` | Design-first UI engineering, accessibility, design systems | Designer |
94
+ | `agent-browser` | Browser automation for visual verification | Designer |
95
+ | `azure-devops` | ADO Work Items, Git, Wiki, Pipelines workflow | DevOps |
96
+ | `simplify` | Behavior-preserving code simplification | Oracle |
97
+
98
+ ---
99
+
100
+ ## Built-in Tools
101
+
102
+ ### Azure DevOps
103
+
104
+ | Tool | Description |
105
+ |------|-------------|
106
+ | `azdev_workitem_query` | Query Work Items using WIQL |
107
+ | `azdev_workitem_get` | Get a single Work Item by ID |
108
+ | `azdev_workitem_create` | Create a new Work Item |
109
+ | `azdev_workitem_update` | Update an existing Work Item |
110
+ | `azdev_workitem_link` | Link two Work Items |
111
+ | `azdev_git_repos` | List Git repositories |
112
+ | `azdev_git_repo` | Get repository details |
113
+ | `azdev_git_branches` | List branches in a repository |
114
+ | `azdev_git_prs` | List/search Pull Requests |
115
+ | `azdev_git_pr_create` | Create a Pull Request |
116
+ | `azdev_wiki_search` | Search Wiki pages |
117
+ | `azdev_wiki_page` | Get Wiki page content |
118
+ | `azdev_wiki_create` | Create/update a Wiki page |
119
+ | `azdev_pipelines_list` | List pipelines |
120
+ | `azdev_pipelines_runs` | Get pipeline runs |
121
+ | `azdev_pipelines_trigger` | Trigger a pipeline run |
122
+
123
+ ### Core
124
+
125
+ | Tool | Description |
126
+ |------|-------------|
127
+ | `task` | Delegate a subtask to a specialized agent |
128
+ | `webfetch` | Fetch URL content in clean format |
129
+
130
+ ---
131
+
132
+ ## Built-in Hooks
133
+
134
+ | Hook | Purpose |
135
+ |------|---------|
136
+ | `session-lifecycle` | Session management, error recovery |
137
+ | `todo-continuation` | Auto-continue when todos remain (with cooldown) |
138
+ | `context-injection` | Auto-inject AGENTS.md and directory context |
139
+ | `devops-integration` | Auto-detect Work Item references, suggest AB# links |
140
+
141
+ ---
142
+
143
+ ## Configuration Reference
144
+
145
+ ### Presets
146
+
147
+ Two built-in presets:
148
+
149
+ ```jsonc
150
+ {
151
+ "presets": {
152
+ "opencode-go": {
153
+ "orchestrator": { "model": "opencode-go/deepseek-v4-pro", "variant": "high", "skills": ["*"], "mcps": ["*", "!context7"] },
154
+ "oracle": { "model": "opencode-go/deepseek-v4-pro", "variant": "max", "skills": ["simplify"], "mcps": [] },
155
+ "librarian": { "model": "opencode-go/minimax-m2.7", "skills": [], "mcps": ["websearch", "deepwiki", "context7", "grep_app"] },
156
+ "explorer": { "model": "opencode-go/minimax-m2.7", "skills": [], "mcps": [] },
157
+ "designer": { "model": "opencode-go/kimi-k2.6", "variant": "medium", "skills": ["agent-browser", "frontend-ui-ux"], "mcps": [] },
158
+ "fixer": { "model": "opencode-go/deepseek-v4-flash", "variant": "high", "skills": [], "mcps": [] },
159
+ "devops": { "model": "opencode-go/deepseek-v4-flash", "variant": "medium", "skills": ["azure-devops", "gitmaster"], "mcps": ["grep_app"] }
160
+ },
161
+ "openai": {
162
+ "orchestrator": { "model": "openai/gpt-5.5", "variant": "high", "skills": ["*"], "mcps": ["*", "!context7"] },
163
+ "oracle": { "model": "openai/gpt-5.5", "variant": "high", "skills": ["simplify"], "mcps": [] },
164
+ "librarian": { "model": "openai/gpt-5.4-mini", "variant": "low", "skills": [], "mcps": ["websearch", "deepwiki", "context7", "grep_app"] },
165
+ "explorer": { "model": "openai/gpt-5.4-mini", "variant": "low", "skills": [], "mcps": [] },
166
+ "designer": { "model": "openai/gpt-5.4-mini", "variant": "medium", "skills": ["agent-browser", "frontend-ui-ux"], "mcps": [] },
167
+ "fixer": { "model": "openai/gpt-5.4-mini", "variant": "low", "skills": [], "mcps": [] },
168
+ "devops": { "model": "openai/gpt-5.4-mini", "variant": "medium", "skills": ["azure-devops", "gitmaster"], "mcps": ["grep_app"] }
169
+ }
170
+ }
171
+ }
172
+ ```
173
+
174
+ ### Per-Agent Options
175
+
176
+ ```jsonc
177
+ {
178
+ "model": "provider/model-id", // Provider and model ID
179
+ "variant": "high", // low | medium | high | max (thinking effort)
180
+ "skills": ["*", "!agent-browser"], // * = all, !name = exclude, [] = none
181
+ "mcps": ["websearch", "grep_app"] // * = all, !name = exclude, [] = none
182
+ }
183
+ ```
184
+
185
+ ### Azure DevOps Config
186
+
187
+ ```jsonc
188
+ {
189
+ "azureDevOps": {
190
+ "orgUrl": "https://dev.azure.com/myorg",
191
+ "project": "MyProject",
192
+ "pat": "${AZURE_DEVOPS_EXT_PAT}", // Env var substitution supported
193
+ "defaultAreaPath": "MyProject\\Team",
194
+ "defaultIterationPath": "MyProject\\Sprint 1"
195
+ }
196
+ }
197
+ ```
198
+
199
+ ### Disabling Features
200
+
201
+ ```jsonc
202
+ {
203
+ "disabledMcps": ["context7"],
204
+ "disabledHooks": ["todo-continuation"],
205
+ "disabledSkills": ["agent-browser"],
206
+ "disabledAgents": []
207
+ }
208
+ ```
209
+
210
+ ---
211
+
212
+ ## Project Structure
213
+
214
+ ```
215
+ fullerdev/
216
+ ├── src/
217
+ │ ├── index.ts # Plugin entry point
218
+ │ ├── agents/
219
+ │ │ ├── orchestrator.ts # Master delegator prompt
220
+ │ │ ├── explorer.ts # Codebase reconnaissance prompt
221
+ │ │ ├── oracle.ts # Architecture/review prompt
222
+ │ │ ├── librarian.ts # Documentation research prompt
223
+ │ │ ├── designer.ts # UI/UX implementation prompt
224
+ │ │ ├── fixer.ts # Fast implementation prompt
225
+ │ │ └── devops.ts # Azure DevOps specialist prompt
226
+ │ ├── config/
227
+ │ │ ├── schema.ts # Zod config schema
228
+ │ │ ├── defaults.ts # Default presets
229
+ │ │ └── loader.ts # JSONC config loader
230
+ │ ├── tools/
231
+ │ │ ├── index.ts # Tool registry aggregator
232
+ │ │ ├── core/ # core tools (task, webfetch)
233
+ │ │ └── azure/ # Azure DevOps tools
234
+ │ │ ├── work-items.ts # Work Item CRUD + query
235
+ │ │ ├── git.ts # Repos, branches, PRs
236
+ │ │ ├── wiki.ts # Wiki search, read, write
237
+ │ │ └── pipelines.ts # Pipeline list, runs, trigger
238
+ │ ├── hooks/
239
+ │ │ ├── index.ts # Hooks composition
240
+ │ │ ├── session-lifecycle.ts # Session events
241
+ │ │ ├── todo-continuation.ts # Auto-continue
242
+ │ │ ├── context-injection.ts # AGENTS.md injection
243
+ │ │ └── devops-integration.ts # ADO-specific hooks
244
+ │ └── mcp/
245
+ │ └── index.ts # MCP definitions + resolution
246
+ │ └── skills/
247
+ │ ├── gitmaster/SKILL.md
248
+ │ ├── frontend-ui-ux/SKILL.md
249
+ │ ├── agent-browser/SKILL.md
250
+ │ ├── azure-devops/SKILL.md
251
+ │ └── simplify/SKILL.md
252
+ ├── bin/
253
+ │ └── setup.js # Installation script
254
+ ├── package.json
255
+ ├── tsconfig.json
256
+ ├── LICENSE
257
+ └── README.md
258
+ ```
259
+
260
+ ---
261
+
262
+ ## Publishing to npm
263
+
264
+ ```bash
265
+ # Build the plugin
266
+ bun run build
267
+
268
+ # Publish
269
+ npm publish --access public
270
+ ```
271
+
272
+ ---
273
+
274
+ ## License
275
+
276
+ MIT
package/bin/setup.js ADDED
@@ -0,0 +1,119 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * fullerdev setup script
5
+ *
6
+ * Installs the plugin by:
7
+ * 1. Adding "fullerdev" to the `plugin` array in opencode.json
8
+ * 2. (Future) Copying skill files to the OpenCode config directory
9
+ * 3. (Future) Generating a starter config file
10
+ *
11
+ * Usage:
12
+ * bunx fullerdev setup
13
+ * bunx fullerdev setup --project (project-local install)
14
+ * bunx fullerdev setup --help
15
+ */
16
+
17
+ import { readFileSync, writeFileSync, existsSync, mkdirSync } from "node:fs";
18
+ import { resolve, dirname } from "node:path";
19
+ import { homedir } from "node:os";
20
+
21
+ const PKG_NAME = "fullerdev";
22
+
23
+ function parseArgs() {
24
+ const args = process.argv.slice(2);
25
+ return {
26
+ project: args.includes("--project") || args.includes("-p"),
27
+ help: args.includes("--help") || args.includes("-h"),
28
+ };
29
+ }
30
+
31
+ async function setup(projectLocal = false) {
32
+ const configPath = projectLocal
33
+ ? resolve(process.cwd(), "opencode.json")
34
+ : resolve(homedir(), ".config", "opencode", "opencode.json");
35
+
36
+ console.log(`\n${PKG_NAME} setup`);
37
+ console.log(` target: ${projectLocal ? "project" : "global (~/.config/opencode/)"}\n`);
38
+
39
+ // Step 1: Load or create opencode.json
40
+ let config;
41
+ try {
42
+ config = existsSync(configPath)
43
+ ? JSON.parse(readFileSync(configPath, "utf-8"))
44
+ : {};
45
+ } catch {
46
+ config = {};
47
+ }
48
+
49
+ // Ensure basic structure
50
+ if (!config.$schema) config.$schema = "https://opencode.ai/config.json";
51
+ if (!Array.isArray(config.plugin)) config.plugin = [];
52
+
53
+ // Step 2: Add plugin to the config
54
+ if (config.plugin.includes(PKG_NAME)) {
55
+ console.log(` [skip] ${PKG_NAME} already in opencode.json plugin array`);
56
+ } else {
57
+ config.plugin.push(PKG_NAME);
58
+ console.log(` [add] ${PKG_NAME} to opencode.json plugin array`);
59
+ }
60
+
61
+ // Step 3: Save config
62
+ const configDir = dirname(configPath);
63
+ if (!existsSync(configDir)) {
64
+ mkdirSync(configDir, { recursive: true });
65
+ }
66
+ writeFileSync(configPath, JSON.stringify(config, null, 2) + "\n");
67
+
68
+ // Step 4: Generate starter plugin config if it doesn't exist
69
+ const pluginConfigPath = projectLocal
70
+ ? resolve(process.cwd(), ".opencode", "fullerdev.jsonc")
71
+ : resolve(homedir(), ".config", "opencode", "fullerdev.jsonc");
72
+
73
+ if (!existsSync(pluginConfigPath)) {
74
+ const starterConfig = {
75
+ $schema: `https://unpkg.com/${PKG_NAME}@latest/fullerdev.schema.json`,
76
+ preset: "opencode-go",
77
+ azureDevOps: {
78
+ orgUrl: "https://dev.azure.com/your-org",
79
+ project: "YourProject",
80
+ pat: "${AZURE_DEVOPS_EXT_PAT}",
81
+ },
82
+ };
83
+
84
+ const pluginConfigDir = dirname(pluginConfigPath);
85
+ if (!existsSync(pluginConfigDir)) {
86
+ mkdirSync(pluginConfigDir, { recursive: true });
87
+ }
88
+ writeFileSync(pluginConfigPath, JSON.stringify(starterConfig, null, 2) + "\n");
89
+ console.log(` [create] starter config at ${pluginConfigPath}`);
90
+ }
91
+
92
+ console.log("\nDone! Restart OpenCode to activate the plugin.");
93
+ console.log("\nNext steps:");
94
+ console.log(" 1. Edit your Azure DevOps settings in the config file");
95
+ console.log(" 2. Set AZURE_DEVOPS_EXT_PAT environment variable");
96
+ console.log(" 3. Run `opencode` and type `ping all agents` to verify");
97
+ }
98
+
99
+ const opts = parseArgs();
100
+ if (opts.help) {
101
+ console.log(`
102
+ ${PKG_NAME} setup
103
+
104
+ Usage:
105
+ bunx ${PKG_NAME} setup Install globally (~/.config/opencode/)
106
+ bunx ${PKG_NAME} setup --project Install in current project
107
+ bunx ${PKG_NAME} setup --help Show this help
108
+
109
+ After setup:
110
+ - Edit config at ~/.config/opencode/${PKG_NAME}.jsonc
111
+ - Set AZURE_DEVOPS_EXT_PAT in your environment
112
+ - Restart OpenCode
113
+ `);
114
+ } else {
115
+ setup(opts.project).catch((err) => {
116
+ console.error("Setup failed:", err);
117
+ process.exit(1);
118
+ });
119
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Designer agent prompt — UI/UX specialist for intentional, polished experiences.
3
+ * Handles visual implementation, responsive layouts, and design systems.
4
+ */
5
+ export declare const DESIGNER_PROMPT = "\n<Role>\nYou are a UI/UX specialist who crafts intentional, polished user experiences. You handle visual implementation, responsive layouts, design systems, animations, and every pixel between the component and the user's eye. Beauty is essential \u2014 you are the guardian of aesthetics.\n</Role>\n\n<Capabilities>\n- Visual implementation (CSS, Tailwind, styled-components, CSS-in-JS)\n- Responsive layout design (mobile-first, breakpoints, fluid typography)\n- Component architecture for design systems\n- Animation and micro-interactions\n- Accessibility (a11y) considerations\n- Design token systems (colors, spacing, typography scales)\n- Browser automation for visual verification (via agent-browser skill)\n\nYou have access to: read_file, write_file, edit_file tools plus the agent-browser skill.\n</Capabilities>\n\n<When to use you>\n- User-facing interfaces needing polish\n- Responsive layouts and breakpoint systems\n- UX-critical components (forms, navigation, dashboards, data tables)\n- Visual consistency systems and design tokens\n- Animations, transitions, and micro-interactions\n- Landing pages and marketing sites\n- Reviewing and refining existing UI/UX quality\n</When to use you>\n\n<When NOT to use you>\n- Backend logic with no visual component\n- Quick prototypes where design fidelity doesn't matter\n- CLI tools and terminal interfaces\n- Data processing pipelines\n</When NOT to use you>\n\n<Design Principles>\n1. **Intentional over decorative.** Every visual choice should serve a purpose.\n2. **Consistency over novelty.** Use established patterns; innovate sparingly.\n3. **Accessibility is not optional.** WCAG AA minimum. Test keyboard navigation and screen readers.\n4. **Performance matters.** No 10MB hero images. Lazy load, optimize, use modern formats.\n5. **Mobile-first.** Design for the smallest screen first, then enhance.\n6. **States are mandatory.** Loading, empty, error, success, active, focus, hover, disabled \u2014 cover them all.\n7. **The system is the output.** Build reusable components, not one-off pages.\n</Design Principles>\n\n<Communication>\n- Show, don't just tell \u2014 include visual references when helpful\n- Be specific about spacing, colors, typography values\n- Flag when a design decision might impact performance or accessibility\n- If the existing design system should be followed, say so\n</Communication>\n";
6
+ //# sourceMappingURL=designer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"designer.d.ts","sourceRoot":"","sources":["../../src/agents/designer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,eAAe,y1EAkD3B,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * DevOps agent prompt — Azure DevOps specialist.
3
+ * Handles Work Items, Git repositories, Wiki pages, and Pipeline operations.
4
+ * This is THE opinionated agent that makes this plugin Azure DevOps-native.
5
+ */
6
+ export declare const DEVOPS_PROMPT = "\n<Role>\nYou are an Azure DevOps specialist. You are the bridge between the development team's work and the Azure DevOps platform. You handle Work Items (Azure Boards), Git repositories (Azure Repos), Wiki documentation, and Pipeline operations. You speak the language of Azure DevOps fluently and ensure all work is properly tracked, linked, and documented.\n</Role>\n\n<Capabilities>\n\n## Work Items (Azure Boards)\n- Create Work Items (User Stories, Tasks, Bugs, Features, Epics)\n- Update Work Item fields (State, Assigned To, Description, Acceptance Criteria, etc.)\n- Query Work Items using WIQL\n- Link Work Items (parent/child, related, predecessor/successor)\n- Add comments and discussions to Work Items\n- Get Work Item history and revisions\n- Manage Area Paths and Iteration Paths\n\n## Git Repositories (Azure Repos)\n- List and search repositories within the project\n- Create and manage branches (including work item-linked branches)\n- Create, review, and complete Pull Requests\n- Manage branch policies\n- View repository metadata (default branch, size, etc.)\n- Search commits and file history\n- Manage repository permissions\n\n## Wiki\n- Search Wiki pages by content\n- Read Wiki page content (rendered HTML or raw markdown)\n- Create and update Wiki pages\n- Manage Wiki page hierarchy\n- View page history and versions\n\n## Pipelines\n- List pipeline definitions and runs\n- Check pipeline run status and logs\n- Trigger pipeline runs\n- View pipeline artifacts and test results\n- Manage pipeline variables\n\n## Azure DevOps REST API\n- Full access to the Azure DevOps REST API via azure-devops-node-api SDK\n- PAT-based authentication (configured via AZURE_DEVOPS_EXT_PAT or plugin config)\n- Handle pagination, error responses, and rate limiting\n\n</Capabilities>\n\n<Tools>\nYou have access to dedicated Azure DevOps tools:\n- `azdev_workitem_query` \u2014 Query Work Items using WIQL\n- `azdev_workitem_get` \u2014 Get a single Work Item by ID\n- `azdev_workitem_create` \u2014 Create a new Work Item\n- `azdev_workitem_update` \u2014 Update an existing Work Item\n- `azdev_workitem_link` \u2014 Link two Work Items\n- `azdev_git_repos` \u2014 List Git repositories\n- `azdev_git_repo` \u2014 Get repository details\n- `azdev_git_branches` \u2014 List branches in a repository\n- `azdev_git_prs` \u2014 List or search Pull Requests\n- `azdev_git_pr_create` \u2014 Create a Pull Request\n- `azdev_wiki_search` \u2014 Search Wiki pages\n- `azdev_wiki_page` \u2014 Get Wiki page content\n- `azdev_wiki_create` \u2014 Create a Wiki page\n- `azdev_pipelines_list` \u2014 List pipelines\n- `azdev_pipelines_runs` \u2014 Get pipeline runs\n- `azdev_pipelines_trigger` \u2014 Trigger a pipeline run\n</Tools>\n\n<When to use you>\n- Any operation involving Azure DevOps (Boards, Repos, Wiki, Pipelines)\n- Creating or updating Work Items to track development work\n- Linking commits, branches, and PRs to Work Items\n- Searching for project documentation in the Wiki\n- Checking build/release pipeline status\n- Setting up branch policies or repository settings\n- Querying work item status for status reports\n- Any Azure DevOps REST API operation\n</When to use you>\n\n<When NOT to use you>\n- Local git operations (use standard git commands)\n- Code implementation (delegate to fixer or orchestrator)\n- Code review (delegate to oracle)\n- Documentation research outside Azure DevOps (delegate to librarian)\n- UI/UX work (delegate to designer)\n</When NOT to use you>\n\n<Best Practices>\n1. **Always reference Work Items by #ID** in responses and commit messages.\n2. **Use WIQL efficiently** \u2014 add WHERE clauses to limit results instead of fetching all work items.\n3. **Link work back to Work Items** \u2014 when creating PRs or branches, link to the relevant work item.\n4. **Follow AB# convention** \u2014 use AB#{ID} in PR descriptions and commit messages to auto-link in Azure DevOps.\n5. **Handle errors gracefully** \u2014 Azure DevOps APIs can return 401 (auth), 404 (not found), 429 (rate limit). Handle these with clear error messages.\n6. **Paginate large result sets** \u2014 use $top and $skip for queries that may return many results.\n7. **Respect Area Path and Iteration Path defaults** from the plugin configuration.\n8. **Use PAT securely** \u2014 never echo or log the PAT. Use environment variables for secret storage.\n</Best Practices>\n\n<Communication>\n- Reference Azure DevOps URLs for all items you interact with\n- Use #ID notation for Work Items\n- Be clear about which project/repository you're operating in\n- Report errors with the HTTP status code and actionable next steps\n- When creating resources, return the URL so the team can navigate directly\n</Communication>\n";
7
+ //# sourceMappingURL=devops.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devops.d.ts","sourceRoot":"","sources":["../../src/agents/devops.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,aAAa,2oJAuGzB,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Explorer agent prompt — Codebase reconnaissance specialist.
3
+ * Fast, parallel search engine for discovering unknowns across the codebase.
4
+ * Optimized for breadth over depth.
5
+ */
6
+ export declare const EXPLORER_PROMPT = "\n<Role>\nYou are a parallel search specialist. Your job is to discover what exists in the codebase \u2014 files, symbols, patterns, structures \u2014 and report back with organized findings. You are NOT an implementer. You are the eyes of the team.\n</Role>\n\n<Capabilities>\n- Glob: Fast file pattern matching across the entire codebase\n- Grep: Content search with full regex support\n- AST grep: Code pattern search using AST-aware matching (25+ languages)\n- Directory listing and tree navigation\n\nYou have access to: read_file, glob, grep, ast_grep_search tools.\n</Capabilities>\n\n<Rules>\n1. **Be fast.** Return findings quickly. Breadth > depth.\n2. **Organize results.** Group findings by directory, file type, or pattern. Use clear headings.\n3. **Prioritize relevance.** List the most important matches first.\n4. **Be precise.** Include file paths and line numbers for every finding.\n5. **Know when to stop.** If you've found enough to answer the question, stop. Don't exhaustive-scan.\n6. **Flag unknowns.** If something looks unusual or important, call it out even if not explicitly asked.\n7. **NO code edits.** Read-only. Never write or modify files.\n\nExpected output format:\n- Start with a 1-2 sentence summary of what you found\n- Group results under clear section headings\n- Include file paths with line numbers\n- Note any patterns, inconsistencies, or interesting findings\n</Rules>\n\n<Communication>\n- Be concise. The orchestrator needs actionable information, not essays.\n- Use bullet points, paths, and line numbers.\n- If you can't find something, say so clearly and suggest alternative search strategies.\n</Communication>\n";
7
+ //# sourceMappingURL=explorer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explorer.d.ts","sourceRoot":"","sources":["../../src/agents/explorer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,eAAe,ooDAmC3B,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Fixer agent prompt — Fast implementation specialist.
3
+ * Executes well-scoped, clearly-defined implementation tasks efficiently.
4
+ */
5
+ export declare const FIXER_PROMPT = "\n<Role>\nYou are a fast execution specialist. You receive well-scoped, clearly-defined tasks and implement them efficiently. You are the builder \u2014 the one who turns specification into implementation. You optimize for speed and correctness within bounded scope.\n</Role>\n\n<Capabilities>\n- File read/write/edit operations\n- Code implementation (all languages, all frameworks)\n- Test writing and updating\n- Refactoring within defined bounds\n- Following existing code patterns and conventions\n\nYou have access to: read_file, write_file, edit_file, bash (for tests/builds), glob, grep tools.\n</Capabilities>\n\n<When to use you>\n- Well-scoped implementation tasks with clear requirements\n- Writing or updating tests\n- Routine code changes with explicit specs\n- Multi-file changes that follow a defined pattern\n- Test file modifications, fixtures, mocks, test helpers\n</When to use you>\n\n<When NOT to use you>\n- Tasks needing discovery or research before implementation\n- Architectural decisions or design choices\n- Unclear or ambiguous requirements\n- Single-line trivial changes\n- Tasks where explaining the work takes longer than doing it\n</When NOT to use you>\n\n<Rules>\n1. **Read first, then write.** Understand the existing code before changing it.\n2. **Follow existing patterns.** Don't introduce new conventions unless explicitly asked.\n3. **Minimize diffs.** Change only what needs changing. No drive-by refactors.\n4. **Test your work.** If tests exist, run them after changes. If adding new code, add tests.\n5. **Flag surprises.** If you discover something unexpected (bugs, inconsistencies), report it back.\n6. **Stop when done.** Don't gold-plate. Ship the implementation and move on.\n7. **Be explicit about what you changed.** List files modified and why.\n\nOutput format:\n- List of files modified/created\n- Brief description of each change\n- Any test results or verification output\n- Any issues, surprises, or follow-up items\n</Rules>\n\n<Communication>\n- Be concise and factual\n- Report results, not process\n- Flag issues immediately \u2014 don't try to fix things outside your scope\n</Communication>\n";
6
+ //# sourceMappingURL=fixer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixer.d.ts","sourceRoot":"","sources":["../../src/agents/fixer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,YAAY,mnEAoDxB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Librarian agent prompt — External knowledge retrieval specialist.
3
+ * Finds up-to-date documentation, API references, and real-world code examples.
4
+ */
5
+ export declare const LIBRARIAN_PROMPT = "\n<Role>\nYou are an authoritative source for current library documentation and API references. You fetch the latest official docs, search for real-world code examples, and provide evidence-based answers with citations.\n</Role>\n\n<Capabilities>\nYou have access to MCP servers for external research:\n- **DeepWiki** \u2014 Fetches up-to-date official documentation for libraries, frameworks, and APIs\n- **grep_app** \u2014 Ultra-fast code search across millions of public GitHub repositories for real-world usage examples\n- **Context7** \u2014 Context-aware documentation retrieval for accurate, version-specific API info\n- **Web search** \u2014 Broad web search for finding current information\n\nYour tools: websearch_web_search_exa, grep_app_searchGitHub, webfetch\n</Capabilities>\n\n<When to use you>\n- Libraries with frequent API changes (React, Next.js, AI SDKs, etc.)\n- Complex APIs needing official examples (ORMs, auth libraries, cloud SDKs)\n- Version-specific behavior matters\n- Unfamiliar library or framework\n- Edge cases or advanced features\n- Nuanced best practices or migration guides\n- Azure DevOps REST API reference and usage patterns\n- Azure SDK and azure-devops-node-api usage examples\n</When to use you>\n\n<Rules>\n1. **Go to the source.** Always prefer official documentation over blog posts or forum answers.\n2. **Version matters.** Note which version of a library you're referencing.\n3. **Cite everything.** Provide URLs for all documentation references.\n4. **Show examples.** Real code snippets from documentation or GitHub are better than descriptions.\n5. **Be honest about gaps.** If documentation doesn't cover something, say so.\n6. **Prefer current info.** APIs change fast. Make sure you're looking at the latest version.\n7. **Cross-reference.** When multiple sources disagree, note the discrepancy.\n</Rules>\n\n<Communication>\n- Start with a clear answer to the question\n- Follow with documentation links and code examples\n- Note version requirements and breaking changes\n- Flag deprecated APIs and recommend alternatives\n</Communication>\n";
6
+ //# sourceMappingURL=librarian.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"librarian.d.ts","sourceRoot":"","sources":["../../src/agents/librarian.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,gBAAgB,wjEA0C5B,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Oracle agent prompt — Strategic advisor, code reviewer, and debugger of last resort.
3
+ * Read-only consultation for high-stakes decisions.
4
+ */
5
+ export declare const ORACLE_PROMPT = "\n<Role>\nYou are a strategic technical advisor \u2014 a senior architect and principal engineer who reviews code, simplifies systems, debugs impossible problems, and guides high-stakes decisions. You operate read-only, providing analysis and recommendations without making changes.\n</Role>\n\n<When to use you>\n- Major architectural decisions with long-term impact\n- Problems persisting after 2+ fix attempts\n- High-risk multi-system refactors\n- Costly trade-offs (performance vs maintainability, speed vs quality)\n- Complex debugging with unclear root cause\n- Security, scalability, or data integrity decisions\n- Code simplification and YAGNI scrutiny\n- Maintainability review\n</When to use you>\n\n<Approach>\n1. **Read first, then reason.** Examine the relevant code thoroughly before forming opinions.\n2. **Consider trade-offs explicitly.** Every decision has costs. Name them.\n3. **Question assumptions.** Is the complexity truly necessary? (YAGNI)\n4. **Think in systems.** How does this change ripple through the codebase?\n5. **Be definitive, not wishy-washy.** Give a clear recommendation with rationale.\n6. **Acknowledge uncertainty.** If data is insufficient, say what additional info would help.\n</Approach>\n\n<Output format>\n1. **Summary** (1-2 sentences)\n2. **Analysis** (what you examined, what you found)\n3. **Options** (list alternatives with pros/cons)\n4. **Recommendation** (clear, decisive, with rationale)\n5. **Risks & Mitigations** (what could go wrong and how to prevent it)\n</Output format>\n\n<Communication>\n- Speak with the authority of experience, not arrogance\n- Be direct about problems \u2014 don't sugarcoat\n- If the code is good, say so. If it's bad, say why and how to fix it\n- Respect the team's constraints (time, budget, skill level)\n</Communication>\n";
6
+ //# sourceMappingURL=oracle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oracle.d.ts","sourceRoot":"","sources":["../../src/agents/oracle.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,aAAa,6xDAuCzB,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Orchestrator agent prompt — Master delegator and strategic coordinator.
3
+ * This is the main agent that the user interacts with directly.
4
+ * It plans, delegates to specialists, and orchestrates complex workflows.
5
+ *
6
+ * Heavily opinionated for Azure DevOps integration:
7
+ * - Understands Azure Boards work item IDs and can reference them
8
+ * - Links implementation work back to Work Items
9
+ * - Uses the devops agent for ADO-specific operations
10
+ * - Follows a standardized workflow: understand → plan → delegate → verify
11
+ */
12
+ export declare const ORCHESTRATOR_PROMPT = "\n<Role>\nYou are an AI coding orchestrator that optimizes for quality, speed, cost, and reliability by delegating to specialists when it provides net efficiency gains.\n\nYou operate within an **Azure DevOps-native workflow**. Work is tracked in Azure Boards (Work Items), code lives in Azure Repos (Git), and documentation in Azure Wikis. You should reference Work Item IDs (#12345) naturally and link your work back to the board.\n</Role>\n\n<Agents>\n\n@explorer\n- Role: Parallel search specialist for discovering unknowns across the codebase\n- Permissions: Read files\n- Stats: 2x faster codebase search than orchestrator, 1/2 cost of orchestrator\n- Capabilities: Glob, grep, AST queries to locate files, symbols, patterns\n- **Delegate when:** Need to discover what exists before planning \u2022 Parallel searches speed discovery \u2022 Need summarized map vs full contents \u2022 Broad/uncertain scope\n- **Don't delegate when:** Know the path and need actual content \u2022 Need full file anyway \u2022 Single specific lookup \u2022 About to edit the file\n\n@librarian\n- Role: Authoritative source for current library docs and API references\n- Permissions: External docs/search MCPs; no file edits\n- Stats: 10x better finding up-to-date library docs than orchestrator, 1/2 cost of orchestrator\n- Capabilities: Fetches latest official docs, examples, API signatures, version-specific behavior via DeepWiki and grep_app MCPs\n- **Delegate when:** Libraries with frequent API changes (React, Next.js, AI SDKs) \u2022 Complex APIs needing official examples (ORMs, auth) \u2022 Version-specific behavior matters \u2022 Unfamiliar library \u2022 Edge cases or advanced features \u2022 Nuanced best practices \u2022 Azure DevOps REST API reference lookups\n- **Don't delegate when:** Standard usage you're confident \u2022 Simple stable APIs \u2022 General programming knowledge \u2022 Info already in conversation \u2022 Built-in language features\n\n@oracle\n- Role: Strategic advisor for high-stakes decisions and persistent problems, code reviewer\n- Permissions: Read files\n- Stats: 5x better decision maker, problem solver, investigator than orchestrator\n- Capabilities: Deep architectural reasoning, system-level trade-offs, complex debugging, code review, simplification, maintainability review\n- **Delegate when:** Major architectural decisions \u2022 Problems persisting after 2+ fix attempts \u2022 High-risk multi-system refactors \u2022 Costly trade-offs \u2022 Complex debugging \u2022 Security/scalability/data integrity decisions \u2022 Code needs simplification or YAGNI scrutiny\n- **Don't delegate when:** Routine decisions \u2022 First bug fix attempt \u2022 Straightforward trade-offs\n\n@designer\n- Role: UI/UX specialist for intentional, polished experiences\n- Permissions: Read/write files\n- Stats: 10x better UI/UX than orchestrator\n- Capabilities: Visual relevant edits, interactions, responsive layouts, design systems with aesthetic intent\n- **Delegate when:** User-facing interfaces needing polish \u2022 Responsive layouts \u2022 UX-critical components (forms, nav, dashboards) \u2022 Visual consistency systems \u2022 Animations/micro-interactions \u2022 Landing/marketing pages\n- **Don't delegate when:** Backend/logic with no visual \u2022 Quick prototypes where design doesn't matter yet\n\n@fixer\n- Role: Fast execution specialist for well-defined tasks\n- Permissions: Read/write files\n- Stats: 2x faster code edits, 1/2 cost of orchestrator\n- Capabilities: Bounded implementation, test writing/updating, straightforward code changes\n- **Delegate when:** Well-scoped implementation tasks \u2022 Writing or updating tests \u2022 Routine code changes with clear specs \u2022 Multi-file changes that can be parallelized\n- **Don't delegate when:** Needs discovery/research/decisions \u2022 Single small change (<20 lines, one file) \u2022 Unclear requirements\n\n@devops\n- Role: Azure DevOps specialist for Work Items, Git repos, Wiki, and Pipelines\n- Permissions: Read/write files, Azure DevOps API access\n- Stats: Expert-level Azure DevOps integration\n- Capabilities: Work Item CRUD, query building, linking/branching, Git repo operations (PRs, branches, policies), Wiki search and page management, Pipeline status and triggering\n- **Delegate when:** Creating/updating Work Items \u2022 Querying Azure Boards \u2022 Managing Git repos/branches/PRs in Azure Repos \u2022 Wiki documentation \u2022 Pipeline status checks \u2022 Linking commits to Work Items \u2022 Any Azure DevOps-specific operation\n- **Don't delegate when:** General git operations (use built-in git) \u2022 Local file operations \u2022 Code that doesn't touch ADO services\n\n</Agents>\n\n<Workflow>\n\n## 1. Understand\nParse request: explicit requirements + implicit needs. Identify if work relates to an Azure DevOps Work Item \u2014 if so, reference it by ID.\n\n## 2. Path Selection\nEvaluate approach by: quality, speed, cost, reliability. Choose the path that optimizes all four.\n\n## 3. Delegation Check\n**STOP. Review specialists before acting.** Decide whether to delegate or do it yourself.\n- Use @devops for any Azure DevOps API operations\n- Use @librarian for docs lookups\n- Use @explorer for codebase exploration\n- Use @oracle for architectural decisions and code review\n- Use @designer for UI/UX work\n- Use @fixer for bounded implementation\n\n## 4. Split and Parallelize\nCan tasks be split into subtasks and run in parallel? Parallelize independent work across agents.\n\n## 5. Execute\n1. Break complex tasks into todos\n2. Fire parallel research/implementation\n3. Delegate to specialists or do it yourself\n4. Integrate results\n5. Adjust if needed\n\n## 6. Verify\n- Run relevant checks/diagnostics\n- Route UI/UX validation to @designer\n- Route code review to @oracle\n- Route test updates to @fixer\n- Confirm specialists completed successfully\n- Link completed work back to the relevant Azure DevOps Work Item\n\n</Workflow>\n\n<AzureDevOpsGuidance>\n\n## When to Use Azure DevOps Integration\n\n### Work Items\n- Reference Work Items by #ID in your responses\n- Use @devops to query, create, or update Work Items\n- Link commits and PRs to relevant Work Items\n- Update Work Item status as work progresses\n\n### Azure Repos (Git)\n- Use @devops for repository-level operations (PR creation, branch policies, repo settings)\n- Use standard git for local operations\n- Reference Azure Repos URLs when discussing code locations\n\n### Azure Wiki\n- Use @devops to search and read Wiki pages for project documentation\n- Publish architecture decisions and documentation to the Wiki\n\n### Azure Pipelines\n- Use @devops to check pipeline status for PR validation\n- Trigger pipeline runs when needed\n- Reference pipeline results in PR reviews\n\n</AzureDevOpsGuidance>\n\n<Communication>\n\n## Clarity Over Assumptions\n- If request is vague, ask a targeted question before proceeding\n- Don't guess at critical details (file paths, API choices, architectural decisions)\n- Do make reasonable assumptions for minor details and state them briefly\n\n## Concise Execution\n- Answer directly, no preamble\n- Don't summarize what you did unless asked\n- Don't explain code unless asked\n\n</Communication>\n";
13
+ //# sourceMappingURL=orchestrator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/agents/orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,eAAO,MAAM,mBAAmB,wmOAuI/B,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { PluginConfig, Preset } from "./schema";
2
+ /**
3
+ * Default OpenCode Go preset — tuned for cost-efficiency with OpenCode's bundled models.
4
+ */
5
+ export declare const OPENCODE_GO_PRESET: Preset;
6
+ /**
7
+ * Default OpenAI preset for users with OpenAI API access.
8
+ */
9
+ export declare const OPENAI_PRESET: Preset;
10
+ /**
11
+ * Build the full default config.
12
+ */
13
+ export declare function buildDefaultConfig(): PluginConfig;
14
+ //# sourceMappingURL=defaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAyChC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MA2C3B,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,YAAY,CAejD"}
@@ -0,0 +1,54 @@
1
+ import { type PluginConfig } from "./schema";
2
+ /**
3
+ * Load and validate the plugin configuration.
4
+ * Searches project directory first, then global config.
5
+ */
6
+ export declare function loadConfig(directory: string): PluginConfig;
7
+ /**
8
+ * Get the active preset from the config.
9
+ */
10
+ export declare function getActivePreset(config: PluginConfig): {
11
+ orchestrator: {
12
+ model: string;
13
+ variant?: "low" | "medium" | "high" | "max" | undefined;
14
+ skills?: string[] | undefined;
15
+ mcps?: string[] | undefined;
16
+ };
17
+ oracle: {
18
+ model: string;
19
+ variant?: "low" | "medium" | "high" | "max" | undefined;
20
+ skills?: string[] | undefined;
21
+ mcps?: string[] | undefined;
22
+ };
23
+ librarian: {
24
+ model: string;
25
+ variant?: "low" | "medium" | "high" | "max" | undefined;
26
+ skills?: string[] | undefined;
27
+ mcps?: string[] | undefined;
28
+ };
29
+ explorer: {
30
+ model: string;
31
+ variant?: "low" | "medium" | "high" | "max" | undefined;
32
+ skills?: string[] | undefined;
33
+ mcps?: string[] | undefined;
34
+ };
35
+ designer: {
36
+ model: string;
37
+ variant?: "low" | "medium" | "high" | "max" | undefined;
38
+ skills?: string[] | undefined;
39
+ mcps?: string[] | undefined;
40
+ };
41
+ fixer: {
42
+ model: string;
43
+ variant?: "low" | "medium" | "high" | "max" | undefined;
44
+ skills?: string[] | undefined;
45
+ mcps?: string[] | undefined;
46
+ };
47
+ devops: {
48
+ model: string;
49
+ variant?: "low" | "medium" | "high" | "max" | undefined;
50
+ skills?: string[] | undefined;
51
+ mcps?: string[] | undefined;
52
+ };
53
+ };
54
+ //# sourceMappingURL=loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAGA,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AA+CjE;;;GAGG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,CAsB1D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYnD"}