@deimoscloud/coreai 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 (216) hide show
  1. package/.prettierrc +9 -0
  2. package/AGENT_SPEC.md +347 -0
  3. package/ARCHITECTURE.md +547 -0
  4. package/DRAFT_PRD.md +1440 -0
  5. package/IMPLEMENTATION_PLAN.md +256 -0
  6. package/PRODUCT.md +473 -0
  7. package/README.md +303 -0
  8. package/WORKFLOWS.md +295 -0
  9. package/agents/_templates/ic-engineer.md +185 -0
  10. package/agents/_templates/reviewer.md +182 -0
  11. package/agents/backend-engineer.yaml +72 -0
  12. package/agents/devops-engineer.yaml +72 -0
  13. package/agents/engineering-manager.yaml +70 -0
  14. package/agents/examples/android-engineer.md +302 -0
  15. package/agents/examples/backend-engineer.md +320 -0
  16. package/agents/examples/devops-engineer.md +742 -0
  17. package/agents/examples/engineering-manager.md +469 -0
  18. package/agents/examples/frontend-engineer.md +58 -0
  19. package/agents/examples/product-manager.md +315 -0
  20. package/agents/examples/qa-engineer.md +371 -0
  21. package/agents/examples/security-engineer.md +525 -0
  22. package/agents/examples/solutions-architect.md +351 -0
  23. package/agents/examples/wearos-engineer.md +359 -0
  24. package/agents/frontend-engineer.yaml +72 -0
  25. package/commands/core/check-inbox.md +34 -0
  26. package/commands/core/delegate.md +30 -0
  27. package/commands/core/git-commit.md +144 -0
  28. package/commands/core/pr-create.md +193 -0
  29. package/commands/core/review.md +56 -0
  30. package/commands/core/sprint-status.md +65 -0
  31. package/commands/optional/docs-update.md +200 -0
  32. package/commands/optional/jira-create.md +200 -0
  33. package/commands/optional/jira-transition.md +184 -0
  34. package/commands/optional/worktree-cleanup.md +167 -0
  35. package/commands/optional/worktree-setup.md +110 -0
  36. package/dist/cli/index.js +4037 -0
  37. package/dist/cli/index.js.map +1 -0
  38. package/dist/index.d.ts +2978 -0
  39. package/dist/index.js +3867 -0
  40. package/dist/index.js.map +1 -0
  41. package/eslint.config.js +29 -0
  42. package/jest.config.js +22 -0
  43. package/knowledge-library/README.md +118 -0
  44. package/knowledge-library/android-engineer/context/current.txt +42 -0
  45. package/knowledge-library/android-engineer/control/decisions.txt +9 -0
  46. package/knowledge-library/android-engineer/control/dependencies.txt +19 -0
  47. package/knowledge-library/android-engineer/control/objectives.txt +26 -0
  48. package/knowledge-library/android-engineer/history/.gitkeep +0 -0
  49. package/knowledge-library/android-engineer/inbox/processed/.gitkeep +0 -0
  50. package/knowledge-library/android-engineer/outbox/.gitkeep +0 -0
  51. package/knowledge-library/android-engineer/tech/.gitkeep +0 -0
  52. package/knowledge-library/architecture.txt +61 -0
  53. package/knowledge-library/backend-engineer/context/current.txt +42 -0
  54. package/knowledge-library/backend-engineer/control/decisions.txt +9 -0
  55. package/knowledge-library/backend-engineer/control/dependencies.txt +19 -0
  56. package/knowledge-library/backend-engineer/control/objectives.txt +26 -0
  57. package/knowledge-library/backend-engineer/history/.gitkeep +0 -0
  58. package/knowledge-library/backend-engineer/inbox/processed/.gitkeep +0 -0
  59. package/knowledge-library/backend-engineer/outbox/.gitkeep +0 -0
  60. package/knowledge-library/backend-engineer/tech/.gitkeep +0 -0
  61. package/knowledge-library/context.txt +52 -0
  62. package/knowledge-library/devops-engineer/context/current.txt +42 -0
  63. package/knowledge-library/devops-engineer/control/decisions.txt +9 -0
  64. package/knowledge-library/devops-engineer/control/dependencies.txt +19 -0
  65. package/knowledge-library/devops-engineer/control/objectives.txt +26 -0
  66. package/knowledge-library/devops-engineer/history/.gitkeep +0 -0
  67. package/knowledge-library/devops-engineer/inbox/processed/.gitkeep +0 -0
  68. package/knowledge-library/devops-engineer/outbox/.gitkeep +0 -0
  69. package/knowledge-library/devops-engineer/tech/.gitkeep +0 -0
  70. package/knowledge-library/engineering-manager/context/current.txt +40 -0
  71. package/knowledge-library/engineering-manager/control/decisions.txt +9 -0
  72. package/knowledge-library/engineering-manager/control/objectives.txt +27 -0
  73. package/knowledge-library/engineering-manager/history/.gitkeep +0 -0
  74. package/knowledge-library/engineering-manager/inbox/processed/.gitkeep +0 -0
  75. package/knowledge-library/engineering-manager/outbox/.gitkeep +0 -0
  76. package/knowledge-library/engineering-manager/tech/.gitkeep +0 -0
  77. package/knowledge-library/prd.txt +81 -0
  78. package/knowledge-library/product-manager/context/current.txt +42 -0
  79. package/knowledge-library/product-manager/control/decisions.txt +9 -0
  80. package/knowledge-library/product-manager/control/dependencies.txt +19 -0
  81. package/knowledge-library/product-manager/control/objectives.txt +26 -0
  82. package/knowledge-library/product-manager/history/.gitkeep +0 -0
  83. package/knowledge-library/product-manager/inbox/processed/.gitkeep +0 -0
  84. package/knowledge-library/product-manager/outbox/.gitkeep +0 -0
  85. package/knowledge-library/product-manager/tech/.gitkeep +0 -0
  86. package/knowledge-library/qa-engineer/context/current.txt +42 -0
  87. package/knowledge-library/qa-engineer/control/decisions.txt +9 -0
  88. package/knowledge-library/qa-engineer/control/dependencies.txt +19 -0
  89. package/knowledge-library/qa-engineer/control/objectives.txt +26 -0
  90. package/knowledge-library/qa-engineer/history/.gitkeep +0 -0
  91. package/knowledge-library/qa-engineer/inbox/processed/.gitkeep +0 -0
  92. package/knowledge-library/qa-engineer/outbox/.gitkeep +0 -0
  93. package/knowledge-library/qa-engineer/tech/.gitkeep +0 -0
  94. package/knowledge-library/security-engineer/context/current.txt +42 -0
  95. package/knowledge-library/security-engineer/control/decisions.txt +9 -0
  96. package/knowledge-library/security-engineer/control/dependencies.txt +19 -0
  97. package/knowledge-library/security-engineer/control/objectives.txt +26 -0
  98. package/knowledge-library/security-engineer/history/.gitkeep +0 -0
  99. package/knowledge-library/security-engineer/inbox/processed/.gitkeep +0 -0
  100. package/knowledge-library/security-engineer/outbox/.gitkeep +0 -0
  101. package/knowledge-library/security-engineer/tech/.gitkeep +0 -0
  102. package/knowledge-library/solutions-architect/context/current.txt +42 -0
  103. package/knowledge-library/solutions-architect/control/decisions.txt +9 -0
  104. package/knowledge-library/solutions-architect/control/dependencies.txt +19 -0
  105. package/knowledge-library/solutions-architect/control/objectives.txt +26 -0
  106. package/knowledge-library/solutions-architect/history/.gitkeep +0 -0
  107. package/knowledge-library/solutions-architect/inbox/processed/.gitkeep +0 -0
  108. package/knowledge-library/solutions-architect/outbox/.gitkeep +0 -0
  109. package/knowledge-library/solutions-architect/tech/.gitkeep +0 -0
  110. package/knowledge-library/wearos-engineer/context/current.txt +42 -0
  111. package/knowledge-library/wearos-engineer/control/decisions.txt +9 -0
  112. package/knowledge-library/wearos-engineer/control/dependencies.txt +19 -0
  113. package/knowledge-library/wearos-engineer/control/objectives.txt +26 -0
  114. package/knowledge-library/wearos-engineer/history/.gitkeep +0 -0
  115. package/knowledge-library/wearos-engineer/inbox/processed/.gitkeep +0 -0
  116. package/knowledge-library/wearos-engineer/outbox/.gitkeep +0 -0
  117. package/knowledge-library/wearos-engineer/tech/.gitkeep +0 -0
  118. package/package.json +66 -0
  119. package/schemas/agent.schema.json +171 -0
  120. package/schemas/coreai.config.schema.json +257 -0
  121. package/scripts/add-agent.sh +323 -0
  122. package/scripts/install.sh +354 -0
  123. package/src/adapters/factory.test.ts +386 -0
  124. package/src/adapters/factory.ts +305 -0
  125. package/src/adapters/index.ts +113 -0
  126. package/src/adapters/interfaces.ts +268 -0
  127. package/src/adapters/mcp/client.test.ts +130 -0
  128. package/src/adapters/mcp/client.ts +451 -0
  129. package/src/adapters/mcp/discovery.test.ts +315 -0
  130. package/src/adapters/mcp/discovery.ts +340 -0
  131. package/src/adapters/mcp/index.ts +66 -0
  132. package/src/adapters/mcp/mapper.test.ts +218 -0
  133. package/src/adapters/mcp/mapper.ts +536 -0
  134. package/src/adapters/mcp/registry.test.ts +433 -0
  135. package/src/adapters/mcp/registry.ts +550 -0
  136. package/src/adapters/mcp/types.ts +258 -0
  137. package/src/adapters/native/filesystem.test.ts +350 -0
  138. package/src/adapters/native/filesystem.ts +393 -0
  139. package/src/adapters/native/github.test.ts +173 -0
  140. package/src/adapters/native/github.ts +627 -0
  141. package/src/adapters/native/index.ts +22 -0
  142. package/src/adapters/native/selector.test.ts +224 -0
  143. package/src/adapters/native/selector.ts +150 -0
  144. package/src/adapters/types.ts +270 -0
  145. package/src/agents/compiler.test.ts +399 -0
  146. package/src/agents/compiler.ts +359 -0
  147. package/src/agents/index.ts +36 -0
  148. package/src/agents/loader.test.ts +319 -0
  149. package/src/agents/loader.ts +143 -0
  150. package/src/agents/resolver.test.ts +282 -0
  151. package/src/agents/resolver.ts +262 -0
  152. package/src/agents/types.ts +87 -0
  153. package/src/cache/index.ts +38 -0
  154. package/src/cache/interfaces.ts +283 -0
  155. package/src/cache/manager.test.ts +266 -0
  156. package/src/cache/manager.ts +388 -0
  157. package/src/cache/provider.test.ts +485 -0
  158. package/src/cache/provider.ts +745 -0
  159. package/src/cache/types.test.ts +192 -0
  160. package/src/cache/types.ts +313 -0
  161. package/src/cli/commands/build.test.ts +248 -0
  162. package/src/cli/commands/build.ts +244 -0
  163. package/src/cli/commands/cache.test.ts +221 -0
  164. package/src/cli/commands/cache.ts +229 -0
  165. package/src/cli/commands/index.ts +63 -0
  166. package/src/cli/commands/init.test.ts +173 -0
  167. package/src/cli/commands/init.ts +296 -0
  168. package/src/cli/commands/skills.test.ts +272 -0
  169. package/src/cli/commands/skills.ts +348 -0
  170. package/src/cli/commands/status.test.ts +392 -0
  171. package/src/cli/commands/status.ts +332 -0
  172. package/src/cli/commands/sync.test.ts +213 -0
  173. package/src/cli/commands/sync.ts +251 -0
  174. package/src/cli/commands/validate.test.ts +216 -0
  175. package/src/cli/commands/validate.ts +340 -0
  176. package/src/cli/index.test.ts +190 -0
  177. package/src/cli/index.ts +493 -0
  178. package/src/commands/context.test.ts +163 -0
  179. package/src/commands/context.ts +111 -0
  180. package/src/commands/index.ts +56 -0
  181. package/src/commands/loader.test.ts +273 -0
  182. package/src/commands/loader.ts +355 -0
  183. package/src/commands/registry.test.ts +384 -0
  184. package/src/commands/registry.ts +248 -0
  185. package/src/commands/runner.test.ts +297 -0
  186. package/src/commands/runner.ts +222 -0
  187. package/src/commands/types.ts +361 -0
  188. package/src/config/index.ts +19 -0
  189. package/src/config/loader.test.ts +262 -0
  190. package/src/config/loader.ts +188 -0
  191. package/src/config/types.ts +154 -0
  192. package/src/context/index.ts +14 -0
  193. package/src/context/loader.test.ts +334 -0
  194. package/src/context/loader.ts +357 -0
  195. package/src/index.test.ts +13 -0
  196. package/src/index.ts +244 -0
  197. package/src/knowledge-library/index.ts +44 -0
  198. package/src/knowledge-library/manager.test.ts +536 -0
  199. package/src/knowledge-library/manager.ts +804 -0
  200. package/src/knowledge-library/types.ts +432 -0
  201. package/src/skills/generator.test.ts +602 -0
  202. package/src/skills/generator.ts +491 -0
  203. package/src/skills/index.ts +27 -0
  204. package/src/skills/templates.ts +520 -0
  205. package/src/skills/types.ts +251 -0
  206. package/templates/completion-report.md +72 -0
  207. package/templates/feedback.md +56 -0
  208. package/templates/project-files/CLAUDE.md.template +109 -0
  209. package/templates/project-files/coreai.json.example +47 -0
  210. package/templates/project-files/mcp.json.template +20 -0
  211. package/templates/review-complete.md +64 -0
  212. package/templates/review-request.md +67 -0
  213. package/templates/task-assignment.md +51 -0
  214. package/tsconfig.build.json +4 -0
  215. package/tsconfig.json +26 -0
  216. package/tsup.config.ts +23 -0
package/package.json ADDED
@@ -0,0 +1,66 @@
1
+ {
2
+ "name": "@deimoscloud/coreai",
3
+ "version": "0.1.0",
4
+ "description": "A configurable, team-ready AI agent orchestration platform",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "bin": {
9
+ "coreai": "dist/cli/index.js"
10
+ },
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "git+https://github.com/DeimosCloud/coreai.git"
14
+ },
15
+ "homepage": "https://github.com/DeimosCloud/coreai#readme",
16
+ "bugs": {
17
+ "url": "https://github.com/DeimosCloud/coreai/issues"
18
+ },
19
+ "scripts": {
20
+ "build": "tsup",
21
+ "dev": "tsup --watch",
22
+ "test": "NODE_OPTIONS='--experimental-vm-modules' jest",
23
+ "test:coverage": "NODE_OPTIONS='--experimental-vm-modules' jest --coverage",
24
+ "lint": "eslint src/",
25
+ "lint:fix": "eslint src/ --fix",
26
+ "format": "prettier --write src/",
27
+ "format:check": "prettier --check src/",
28
+ "typecheck": "tsc --noEmit"
29
+ },
30
+ "keywords": [
31
+ "ai",
32
+ "agents",
33
+ "claude",
34
+ "cli",
35
+ "orchestration"
36
+ ],
37
+ "author": "Deimos Cloud",
38
+ "license": "MIT",
39
+ "engines": {
40
+ "node": ">=18.0.0"
41
+ },
42
+ "devDependencies": {
43
+ "@eslint/js": "^9.39.2",
44
+ "@types/jest": "^30.0.0",
45
+ "@types/node": "^20.10.0",
46
+ "@typescript-eslint/eslint-plugin": "^8.53.1",
47
+ "@typescript-eslint/parser": "^8.53.1",
48
+ "eslint": "^9.39.2",
49
+ "eslint-config-prettier": "^10.1.8",
50
+ "eslint-plugin-prettier": "^5.5.5",
51
+ "jest": "^30.2.0",
52
+ "prettier": "^3.8.1",
53
+ "ts-jest": "^29.4.6",
54
+ "tsup": "^8.5.1",
55
+ "typescript": "^5.3.0",
56
+ "typescript-eslint": "^8.53.1"
57
+ },
58
+ "dependencies": {
59
+ "@modelcontextprotocol/sdk": "^1.25.3",
60
+ "ajv": "^8.17.1",
61
+ "ajv-formats": "^3.0.1",
62
+ "commander": "^14.0.2",
63
+ "yaml": "^2.8.2",
64
+ "zod": "^4.3.5"
65
+ }
66
+ }
@@ -0,0 +1,171 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://coreai.dev/schemas/agent.schema.json",
4
+ "title": "CoreAI Agent Definition",
5
+ "description": "Schema for CoreAI agent YAML definitions",
6
+ "type": "object",
7
+ "required": ["role", "type", "display_name", "description"],
8
+ "properties": {
9
+ "role": {
10
+ "type": "string",
11
+ "description": "Agent identifier (e.g., backend-engineer)",
12
+ "pattern": "^[a-z][a-z0-9-]*$"
13
+ },
14
+ "type": {
15
+ "type": "string",
16
+ "description": "Agent type category",
17
+ "enum": ["ic-engineer", "manager", "specialist", "coordinator"]
18
+ },
19
+ "display_name": {
20
+ "type": "string",
21
+ "description": "Human-readable agent name"
22
+ },
23
+ "description": {
24
+ "type": "string",
25
+ "description": "Agent role description"
26
+ },
27
+ "responsibilities": {
28
+ "type": "array",
29
+ "description": "List of agent responsibilities",
30
+ "items": {
31
+ "type": "string"
32
+ }
33
+ },
34
+ "expertise": {
35
+ "$ref": "#/$defs/expertise"
36
+ },
37
+ "skills": {
38
+ "type": "array",
39
+ "description": "Additional capabilities",
40
+ "items": {
41
+ "type": "string"
42
+ }
43
+ },
44
+ "principles": {
45
+ "$ref": "#/$defs/principles"
46
+ },
47
+ "behaviors": {
48
+ "$ref": "#/$defs/behaviors"
49
+ },
50
+ "context_sources": {
51
+ "$ref": "#/$defs/contextSources"
52
+ },
53
+ "communication": {
54
+ "$ref": "#/$defs/communication"
55
+ }
56
+ },
57
+ "additionalProperties": false,
58
+ "$defs": {
59
+ "expertise": {
60
+ "type": "object",
61
+ "description": "Agent expertise and skills",
62
+ "properties": {
63
+ "primary": {
64
+ "type": "array",
65
+ "description": "Primary areas of expertise",
66
+ "items": {
67
+ "type": "string"
68
+ }
69
+ },
70
+ "tech_stack": {
71
+ "type": "string",
72
+ "description": "Technology stack (can be variable reference like ${config.tech_stack})"
73
+ }
74
+ },
75
+ "additionalProperties": true
76
+ },
77
+ "principles": {
78
+ "type": "object",
79
+ "description": "Development principles and guidelines",
80
+ "properties": {
81
+ "code_quality": {
82
+ "type": "array",
83
+ "items": {
84
+ "type": "string"
85
+ }
86
+ },
87
+ "testing": {
88
+ "type": "array",
89
+ "items": {
90
+ "type": "string"
91
+ }
92
+ },
93
+ "security": {
94
+ "type": "array",
95
+ "items": {
96
+ "type": "string"
97
+ }
98
+ },
99
+ "performance": {
100
+ "type": "array",
101
+ "items": {
102
+ "type": "string"
103
+ }
104
+ }
105
+ },
106
+ "additionalProperties": {
107
+ "type": "array",
108
+ "items": {
109
+ "type": "string"
110
+ }
111
+ }
112
+ },
113
+ "behaviors": {
114
+ "type": "object",
115
+ "description": "Workflow and behavior configuration",
116
+ "properties": {
117
+ "workflow": {
118
+ "type": "string",
119
+ "description": "Workflow type",
120
+ "enum": [
121
+ "ticket-implementation",
122
+ "bug-investigation",
123
+ "code-review",
124
+ "planning-estimation"
125
+ ]
126
+ },
127
+ "quality_gates": {
128
+ "type": "string",
129
+ "description": "Quality gates reference (can be variable like ${config.quality_gates})"
130
+ }
131
+ },
132
+ "additionalProperties": true
133
+ },
134
+ "contextSources": {
135
+ "type": "object",
136
+ "description": "Context sources for the agent",
137
+ "properties": {
138
+ "shared": {
139
+ "type": "array",
140
+ "description": "Shared/remote context sources",
141
+ "items": {
142
+ "type": "string"
143
+ }
144
+ },
145
+ "personal": {
146
+ "type": "array",
147
+ "description": "Personal/local context sources",
148
+ "items": {
149
+ "type": "string"
150
+ }
151
+ }
152
+ },
153
+ "additionalProperties": false
154
+ },
155
+ "communication": {
156
+ "type": "object",
157
+ "description": "Communication paths for agent messaging",
158
+ "properties": {
159
+ "inbox": {
160
+ "type": "string",
161
+ "description": "Path to inbox directory"
162
+ },
163
+ "outbox": {
164
+ "type": "string",
165
+ "description": "Path to outbox directory"
166
+ }
167
+ },
168
+ "additionalProperties": false
169
+ }
170
+ }
171
+ }
@@ -0,0 +1,257 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://coreai.dev/schemas/coreai.config.schema.json",
4
+ "title": "CoreAI Configuration",
5
+ "description": "Configuration schema for CoreAI projects",
6
+ "type": "object",
7
+ "required": ["version", "project"],
8
+ "properties": {
9
+ "version": {
10
+ "type": "string",
11
+ "description": "Configuration schema version",
12
+ "enum": ["1.0"]
13
+ },
14
+ "project": {
15
+ "type": "object",
16
+ "description": "Project metadata",
17
+ "required": ["name"],
18
+ "properties": {
19
+ "name": {
20
+ "type": "string",
21
+ "description": "Project name"
22
+ },
23
+ "type": {
24
+ "type": "string",
25
+ "description": "Project type",
26
+ "enum": ["software", "infrastructure", "data", "mobile"],
27
+ "default": "software"
28
+ }
29
+ },
30
+ "additionalProperties": false
31
+ },
32
+ "team": {
33
+ "type": "object",
34
+ "description": "Team configuration",
35
+ "properties": {
36
+ "agents": {
37
+ "type": "array",
38
+ "description": "List of enabled agents",
39
+ "items": {
40
+ "type": "string"
41
+ },
42
+ "default": ["backend-engineer", "frontend-engineer", "devops-engineer", "engineering-manager"]
43
+ }
44
+ },
45
+ "additionalProperties": false
46
+ },
47
+ "integrations": {
48
+ "type": "object",
49
+ "description": "External tool integrations",
50
+ "properties": {
51
+ "issue_tracker": {
52
+ "$ref": "#/$defs/issueTrackerIntegration"
53
+ },
54
+ "git": {
55
+ "$ref": "#/$defs/gitIntegration"
56
+ },
57
+ "documentation": {
58
+ "$ref": "#/$defs/documentationIntegration"
59
+ },
60
+ "state": {
61
+ "$ref": "#/$defs/stateIntegration"
62
+ }
63
+ },
64
+ "additionalProperties": false
65
+ },
66
+ "quality_gates": {
67
+ "type": "object",
68
+ "description": "Quality gate definitions",
69
+ "additionalProperties": {
70
+ "$ref": "#/$defs/qualityGate"
71
+ }
72
+ },
73
+ "tech_stack": {
74
+ "type": "object",
75
+ "description": "Technology stack information",
76
+ "properties": {
77
+ "primary_language": {
78
+ "type": "string",
79
+ "description": "Primary programming language"
80
+ },
81
+ "frameworks": {
82
+ "type": "array",
83
+ "description": "Frameworks and libraries used",
84
+ "items": {
85
+ "type": "string"
86
+ }
87
+ },
88
+ "cloud": {
89
+ "type": "string",
90
+ "description": "Cloud provider (if applicable)"
91
+ }
92
+ },
93
+ "additionalProperties": true
94
+ },
95
+ "mcp": {
96
+ "type": "object",
97
+ "description": "MCP (Model Context Protocol) settings",
98
+ "properties": {
99
+ "expose_adapters": {
100
+ "type": "boolean",
101
+ "description": "Expose adapters as MCP tools",
102
+ "default": false
103
+ }
104
+ },
105
+ "additionalProperties": false
106
+ }
107
+ },
108
+ "additionalProperties": false,
109
+ "$defs": {
110
+ "issueTrackerIntegration": {
111
+ "type": "object",
112
+ "required": ["provider"],
113
+ "properties": {
114
+ "provider": {
115
+ "type": "string",
116
+ "enum": ["jira", "linear", "github-issues", "azure-devops"]
117
+ },
118
+ "config": {
119
+ "type": "object",
120
+ "properties": {
121
+ "project_key": {
122
+ "type": "string",
123
+ "description": "Project key or identifier"
124
+ },
125
+ "base_url": {
126
+ "type": "string",
127
+ "format": "uri",
128
+ "description": "Base URL for the issue tracker"
129
+ }
130
+ },
131
+ "additionalProperties": true
132
+ },
133
+ "strategy": {
134
+ "type": "string",
135
+ "enum": ["mcp", "native", "auto"],
136
+ "default": "auto",
137
+ "description": "Adapter strategy: prefer MCP, native API, or auto-detect"
138
+ }
139
+ },
140
+ "additionalProperties": false
141
+ },
142
+ "gitIntegration": {
143
+ "type": "object",
144
+ "required": ["provider"],
145
+ "properties": {
146
+ "provider": {
147
+ "type": "string",
148
+ "enum": ["github", "gitlab", "bitbucket", "azure-devops"]
149
+ },
150
+ "config": {
151
+ "type": "object",
152
+ "properties": {
153
+ "repo": {
154
+ "type": "string",
155
+ "description": "Repository identifier (e.g., owner/repo)"
156
+ },
157
+ "default_branch": {
158
+ "type": "string",
159
+ "default": "main",
160
+ "description": "Default branch name"
161
+ }
162
+ },
163
+ "additionalProperties": true
164
+ },
165
+ "strategy": {
166
+ "type": "string",
167
+ "enum": ["mcp", "native", "auto"],
168
+ "default": "auto"
169
+ }
170
+ },
171
+ "additionalProperties": false
172
+ },
173
+ "documentationIntegration": {
174
+ "type": "object",
175
+ "required": ["provider"],
176
+ "properties": {
177
+ "provider": {
178
+ "type": "string",
179
+ "enum": ["confluence", "notion", "github-wiki", "local"]
180
+ },
181
+ "config": {
182
+ "type": "object",
183
+ "properties": {
184
+ "space_key": {
185
+ "type": "string",
186
+ "description": "Space or workspace identifier"
187
+ },
188
+ "base_url": {
189
+ "type": "string",
190
+ "format": "uri",
191
+ "description": "Base URL for the documentation provider"
192
+ },
193
+ "base_path": {
194
+ "type": "string",
195
+ "description": "Base path within the provider"
196
+ }
197
+ },
198
+ "additionalProperties": true
199
+ },
200
+ "strategy": {
201
+ "type": "string",
202
+ "enum": ["mcp", "native", "auto"],
203
+ "default": "auto"
204
+ }
205
+ },
206
+ "additionalProperties": false
207
+ },
208
+ "stateIntegration": {
209
+ "type": "object",
210
+ "required": ["provider"],
211
+ "properties": {
212
+ "provider": {
213
+ "type": "string",
214
+ "enum": ["confluence", "notion", "s3", "github-repo", "local"]
215
+ },
216
+ "config": {
217
+ "type": "object",
218
+ "properties": {
219
+ "space_key": {
220
+ "type": "string"
221
+ },
222
+ "base_path": {
223
+ "type": "string"
224
+ },
225
+ "bucket": {
226
+ "type": "string",
227
+ "description": "S3 bucket name (for s3 provider)"
228
+ }
229
+ },
230
+ "additionalProperties": true
231
+ },
232
+ "strategy": {
233
+ "type": "string",
234
+ "enum": ["mcp", "native", "auto"],
235
+ "default": "auto"
236
+ }
237
+ },
238
+ "additionalProperties": false
239
+ },
240
+ "qualityGate": {
241
+ "type": "object",
242
+ "required": ["command"],
243
+ "properties": {
244
+ "command": {
245
+ "type": "string",
246
+ "description": "Command to run for this quality gate"
247
+ },
248
+ "required": {
249
+ "type": "boolean",
250
+ "default": true,
251
+ "description": "Whether this gate must pass"
252
+ }
253
+ },
254
+ "additionalProperties": false
255
+ }
256
+ }
257
+ }