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
@@ -0,0 +1,46 @@
1
+ import type { PluginConfig } from "../config/schema";
2
+ /**
3
+ * Compose all hooks into a single interface compatible with OpenCode's Plugin Hooks.
4
+ */
5
+ export declare function createAllHooks(config: PluginConfig): {
6
+ /**
7
+ * Event hook — merged from multiple hook sources.
8
+ * All event handlers run in sequence for each event.
9
+ */
10
+ event: (input: {
11
+ event: {
12
+ type: string;
13
+ properties?: Record<string, unknown>;
14
+ };
15
+ }) => Promise<void>;
16
+ /**
17
+ * Chat params hook — merged: devops integration + agent model routing.
18
+ */
19
+ "chat.params": (input: {
20
+ sessionID: string;
21
+ agent: string;
22
+ message: Record<string, unknown>;
23
+ }, output: {
24
+ options: Record<string, unknown>;
25
+ }) => Promise<void>;
26
+ /**
27
+ * Tool execute before hook.
28
+ */
29
+ "tool.execute.before": (input: {
30
+ tool: string;
31
+ args: Record<string, unknown>;
32
+ }, output: {
33
+ context?: string[];
34
+ }) => Promise<void>;
35
+ /**
36
+ * Tool execute after hook — merged from multiple sources.
37
+ */
38
+ "tool.execute.after": (input: {
39
+ tool: string;
40
+ args: Record<string, unknown>;
41
+ result: unknown;
42
+ }, output: {
43
+ context?: string[];
44
+ }) => Promise<void>;
45
+ };
46
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAMrD;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY;IAO/C;;;OAGG;mBACkB;QAAE,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,CAAA;KAAE;IAMtF;;OAEG;2BAEM;QACL,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAClC,UACO;QAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE;IAK9C;;OAEG;mCAEM;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,UAC9C;QAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE;IAKhC;;OAEG;kCAEM;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,UAC/D;QAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE;EAMnC"}
@@ -0,0 +1,15 @@
1
+ import type { PluginConfig } from "../config/schema";
2
+ /**
3
+ * Session lifecycle hooks — handle session creation, idle events, and error recovery.
4
+ * These hook into OpenCode's `event` hook to monitor session state.
5
+ */
6
+ export interface SessionLifecycleHooks {
7
+ event: (input: {
8
+ event: {
9
+ type: string;
10
+ properties?: Record<string, unknown>;
11
+ };
12
+ }) => Promise<void>;
13
+ }
14
+ export declare function createSessionLifecycleHooks(_config: PluginConfig): SessionLifecycleHooks;
15
+ //# sourceMappingURL=session-lifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-lifecycle.d.ts","sourceRoot":"","sources":["../../src/hooks/session-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD;;;GAGG;AAEH,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACpG;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,YAAY,GACpB,qBAAqB,CA4BvB"}
@@ -0,0 +1,17 @@
1
+ import type { PluginConfig } from "../config/schema";
2
+ /**
3
+ * Todo continuation hook — auto-continues orchestrator sessions when todos remain.
4
+ * This prevents sessions from idling when there's still work to do.
5
+ *
6
+ * Copied and adapted from oh-my-opencode-slim's todo-continuation pattern.
7
+ */
8
+ export interface TodoContinuationHooks {
9
+ event: (input: {
10
+ event: {
11
+ type: string;
12
+ properties?: Record<string, unknown>;
13
+ };
14
+ }) => Promise<void>;
15
+ }
16
+ export declare function createTodoContinuationHooks(config: PluginConfig): TodoContinuationHooks;
17
+ //# sourceMappingURL=todo-continuation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"todo-continuation.d.ts","sourceRoot":"","sources":["../../src/hooks/todo-continuation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD;;;;;GAKG;AAEH,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACpG;AAED,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,YAAY,GACnB,qBAAqB,CA0BvB"}
@@ -0,0 +1,31 @@
1
+ import type { Plugin, PluginModule } from "@opencode-ai/plugin";
2
+ export { ORCHESTRATOR_PROMPT } from "./agents/orchestrator";
3
+ export { EXPLORER_PROMPT } from "./agents/explorer";
4
+ export { ORACLE_PROMPT } from "./agents/oracle";
5
+ export { LIBRARIAN_PROMPT } from "./agents/librarian";
6
+ export { DESIGNER_PROMPT } from "./agents/designer";
7
+ export { FIXER_PROMPT } from "./agents/fixer";
8
+ export { DEVOPS_PROMPT } from "./agents/devops";
9
+ export type { PluginConfig, Preset, AgentConfig, AzureDevOpsConfig } from "./config/schema";
10
+ export { PluginConfigSchema } from "./config/schema";
11
+ /**
12
+ * FullerDev Plugin
13
+ *
14
+ * An opinionated multi-agent orchestration plugin for OpenCode,
15
+ * tuned for Azure DevOps-native workflows.
16
+ *
17
+ * Features:
18
+ * - 7 specialized subagents (orchestrator, explorer, oracle, librarian, designer, fixer, devops)
19
+ * - Per-agent model and variant configuration via presets
20
+ * - Built-in MCPs: DeepWiki, grep.app, Context7, WebSearch
21
+ * - Built-in tools: Azure DevOps (Work Items, Git, Wiki, Pipelines) + core utilities
22
+ * - Built-in skills: gitmaster, frontend-ui-ux, agent-browser, azure-devops, simplify
23
+ * - Lifecycle hooks: session management, todo continuation, context injection, devops integration
24
+ * - JSONC config with env var substitution (${AZURE_DEVOPS_EXT_PAT} etc.)
25
+ *
26
+ * @see https://github.com/ao-barbosa/fullerdev
27
+ */
28
+ export declare const FullerDevPlugin: Plugin;
29
+ declare const fullerdevPluginModule: PluginModule;
30
+ export default fullerdevPluginModule;
31
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAS,MAAM,qBAAqB,CAAC;AAoBvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC5F,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,eAAe,EAAE,MAsJ7B,CAAC;AAIF,QAAA,MAAM,qBAAqB,EAAE,YAG5B,CAAC;AAEF,eAAe,qBAAqB,CAAC"}