konsilio 0.3.0 → 0.3.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.
package/LICENSE.md CHANGED
@@ -1,24 +1,24 @@
1
- This is free and unencumbered software released into the public domain.
2
-
3
- Anyone is free to copy, modify, publish, use, compile, sell, or
4
- distribute this software, either in source code form or as a compiled
5
- binary, for any purpose, commercial or non-commercial, and by any
6
- means.
7
-
8
- In jurisdictions that recognize copyright laws, the author or authors
9
- of this software dedicate any and all copyright interest in the
10
- software to the public domain. We make this dedication for the benefit
11
- of the public at large and to the detriment of our heirs and
12
- successors. We intend this dedication to be an overt act of
13
- relinquishment in perpetuity of all present and future rights to this
14
- software under copyright law.
15
-
16
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19
- IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
20
- OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
21
- ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22
- OTHER DEALINGS IN THE SOFTWARE.
23
-
1
+ This is free and unencumbered software released into the public domain.
2
+
3
+ Anyone is free to copy, modify, publish, use, compile, sell, or
4
+ distribute this software, either in source code form or as a compiled
5
+ binary, for any purpose, commercial or non-commercial, and by any
6
+ means.
7
+
8
+ In jurisdictions that recognize copyright laws, the author or authors
9
+ of this software dedicate any and all copyright interest in the
10
+ software to the public domain. We make this dedication for the benefit
11
+ of the public at large and to the detriment of our heirs and
12
+ successors. We intend this dedication to be an overt act of
13
+ relinquishment in perpetuity of all present and future rights to this
14
+ software under copyright law.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19
+ IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
20
+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
21
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22
+ OTHER DEALINGS IN THE SOFTWARE.
23
+
24
24
  For more information, please refer to <https://unlicense.org>
package/README.md CHANGED
@@ -1,170 +1,172 @@
1
- # Konsilio
2
-
3
- **Council of Experts** — an MCP server that runs draft plans through a multi-persona architectural review before you write a single line of code.
4
-
5
- ## TL;DR
6
-
7
- Konsilio lets you run a draft plan through a panel of AI experts (security, performance, DevOps, etc.) before writing code.
8
-
9
- It returns a structured blueprint so your coding model can implement it cleanly in one pass.
10
-
11
- ## The Problem
12
-
13
- You're mid-task and realize you need a plan: *"Why is this code not working? We need more logs → logging should be added → let me write a proposal for logging."*
14
-
15
- You could feed that plan directly into a coding model and hope it gets it right. Or you could catch blind spots early by having specialists review it first.
16
-
17
- ## The Solution
18
-
19
- Konsilio implements a **multi-stage consulting pipeline**:
20
-
21
- 1. **Write a proposal** a short document describing what you want to build or change
22
- 2. **Feed it to the Council** — multiple expert personas (security, performance, DevOps, testing, etc.) review the plan in parallel, each from their own angle
23
- 3. **4-phase consolidation** — a lead agent extracts claims, critiques contradictions, makes accept/reject decisions, and synthesizes a final blueprint
24
- 4. **Implement with a clean slate** — hand the blueprint to a coding-focused model. It starts with empty context and executes the plan in one pass
25
-
26
- **Rinse. Repeat. Rewind Selectah!**
27
-
28
- ## Usage
29
-
30
- ```bash
31
- # Install
32
- npm install -g konsilio
33
-
34
- # Configure (edit konsilio.json with your personas and models)
35
- # Set OPENROUTER_API_KEY in your environment
36
-
37
- # Use via MCP in your AI coding tool
38
- # Tool: consult_council
39
- # Params: draft_plan, tech_stack (optional), context_constraints (optional)
40
- ```
41
-
42
- ### Example
43
-
44
- ```json
45
- {
46
- "draft_plan": "Add structured logging to all API endpoints with correlation IDs",
47
- "tech_stack": "Node.js, Express, Pino, PostgreSQL",
48
- "context_constraints": "Must run on Proxmox LXC, no external dependencies"
49
- }
50
- ```
51
-
52
- Returns a blueprint with architecture directives, edge cases, constraints, and numbered next steps.
53
-
54
- ## Configuration
55
-
56
- ```json
57
- {
58
- "personas": {
59
- "enabled": ["security", "performance", "devops", "test-architect"]
60
- },
61
- "models": {
62
- "experts": "google/gemini-2.5-flash-lite",
63
- "lead": "google/gemini-2.5-pro"
64
- }
65
- }
66
- ```
67
-
68
- Default personas: `security`, `performance`, `ux-dx`, `devops`, `typescript`, `graph-dba`, `node-fullstack`, `dev-tooling`, `distributed-systems`, `test-architect`
69
-
70
- ```mermaid
71
- flowchart TD
72
- A[Identify Need During Development] --> B[Write Proposal Document]
73
- B --> C[Submit to Konsilio Council]
74
-
75
- subgraph Council["Council Review (Parallel)"]
76
- C --> E1[🔒 Security Expert]
77
- C --> E2[ Performance Expert]
78
- C --> E3[🚀 DevOps Expert]
79
- C --> E4[🧪 Test Architect]
80
- C --> E5[🎨 UX/DX Expert]
81
- C --> E6[🛠️ Dev Tooling Expert]
82
- end
83
-
84
- E1 --> F[Prose Reports]
85
- E2 --> F
86
- E3 --> F
87
- E4 --> F
88
- E5 --> F
89
- E6 --> F
90
-
91
- F --> G[Formatter: prose → structured JSON]
92
-
93
- subgraph Consolidation["4-Phase Consolidation"]
94
- G --> H1[📋 Extraction Lead<br/>Extract all claims]
95
- H1 --> H2[🔍 Critique Lead<br/>Find contradictions]
96
- H2 --> H3[⚖️ Decision Lead<br/>Accept/Reject findings]
97
- H3 --> H4[📝 Synthesis Lead<br/>Assemble blueprint]
98
- end
99
-
100
- H4 --> I[Final Blueprint<br/>with edge cases, constraints, next steps]
101
- I --> J[Hand to Coding Model<br/>Clean slate, empty context]
102
- J --> K[Implement in One Pass]
103
-
104
- style Council fill:#f0f4ff,stroke:#4a6cf7,stroke-width:2px
105
- style Consolidation fill:#fff8f0,stroke:#f7a44a,stroke-width:2px
106
- style I fill:#e8f5e9,stroke:#4caf50,stroke-width:2px
107
- ```
108
-
109
- ## Architecture
110
-
111
- ### Expert Personas
112
-
113
- Each expert is a focused agent with a specific lens:
114
-
115
- | Persona | Focus |
116
- |---------|-------|
117
- | 🔒 Security | Auth, injection, rate limiting, data exposure |
118
- | ⚡ Performance | Bottlenecks, caching, query patterns, scaling |
119
- | 🚀 DevOps | Deployment, observability, infrastructure |
120
- | 🧪 Test Architect | Coverage, edge cases, testability |
121
- | 🎨 UX/DX | API design, developer experience, ergonomics |
122
- | 🛠️ Dev Tooling | Build pipeline, linting, CI/CD |
123
-
124
- Experts output **prose** free-form analysis without JSON constraints.
125
- **Note:** User-defined experts can be created by adding an `expert.md` file to `/data/personas/`
126
-
127
- ### The Lead
128
-
129
- The lead agent runs a 4-phase consolidation pipeline:
130
-
131
- 1. **Extraction** pulls all claims from expert reports into a unified list
132
- 2. **Critique** — identifies contradictions, unsupported claims, and gaps
133
- 3. **Decision** — explicitly accepts or rejects each finding
134
- 4. **Synthesis** — assembles accepted findings into a coherent blueprint
135
-
136
- ### The Formatter
137
-
138
- A dedicated `gpt-4o-mini` instance converts expert prose to structured JSON using OpenAI's `response_format` feature. This keeps experts focused on analysis, not syntax.
139
-
140
- ## Why This Works
141
-
142
- ### 1. Specialized Experts Outperform Generalists
143
-
144
- A council of focused expert agents, each primed with a specific role, surfaces more issues at lower cost than a single frontier model:
145
-
146
- - **Chan et al. (2023)** *"ChatEval: Towards Better LLM-based Evaluators through Multi-Agent Debate"* — showed that multiple role-conditioned agents debating produces more accurate evaluations than a single powerful model. [arXiv:2308.07201](https://arxiv.org/abs/2308.07201)
147
-
148
- - **Du et al. (2023)** — *"Improving Factuality and Reasoning in Language Models through Multiagent Debate"* — demonstrated that multi-agent debate significantly improves accuracy over single-model inference, with agents catching each other's errors. [arXiv:2305.14325](https://arxiv.org/abs/2305.14325)
149
-
150
- - **Liang et al. (2023)** — *"Ensemble Learning for Large Language Models"* — found that combining multiple specialized models outperforms a single large model on complex tasks while using fewer total tokens. [arXiv:2305.07881](https://arxiv.org/abs/2305.07881)
151
-
152
- ### 2. Separation of Analysis and Formatting
153
-
154
- When a model is asked to return structured data directly, its reasoning quality degrades. Konsilio solves this by having experts write **prose first**, then using a dedicated formatter:
155
-
156
- - **Dhuliawala et al. (2023)** *"Chain-of-Verification Reduces Hallucination in Large Language Models"* demonstrates that separating generation from verification significantly reduces errors. This is the core principle behind Konsilio's two-stage design. [arXiv:2309.11495](https://arxiv.org/abs/2309.11495)
157
-
158
- - **Willison et al. (2023)** — *"Jsonformer: A Bulletproof Way to Generate Structured JSON from Language Models"* — documents how JSON schema constraints during generation interfere with reasoning quality, recommending a two-stage approach: generate content freely, then format. [arXiv:2305.15087](https://arxiv.org/abs/2305.15087)
159
-
160
- - **Su et al. (2024)** — *"The Impact of Reasoning Step Length on Large Language Models"* — shows that adding structural constraints (like JSON output requirements) during reasoning reduces the model's ability to explore solution spaces, increasing error rates. [arXiv:2401.04991](https://arxiv.org/abs/2401.04991)
161
-
162
- This is why Konsilio uses `gpt-4o-mini` as a **dedicated formatter**it converts prose to JSON without the expert models having to juggle both reasoning and formatting simultaneously.
163
-
164
- ### 3. Clean-Slate Implementation
165
-
166
- By separating planning from execution, the coding model starts with **zero context overhead**. It receives a complete blueprint and executes — no need to re-derive the plan or carry forward the reasoning history. This reduces token costs and avoids context-window pollution.
167
-
168
- # License
169
-
170
- This software is released under the Unlicense: do whatever you want with it.
1
+ # Konsilio
2
+
3
+ [![npm version](https://img.shields.io/npm/v/konsilio.svg)](https://www.npmjs.com/package/konsilio)
4
+ [![npm downloads](https://img.shields.io/npm/dm/konsilio.svg)](https://www.npmjs.com/package/konsilio)
5
+ [![license](https://img.shields.io/npm/l/konsilio.svg)](LICENSE.md)
6
+
7
+ Konsilio lets you run a draft plan through a panel of AI experts (security, performance, DevOps, etc.) before writing code.
8
+
9
+ It returns a structured blueprint so your coding model can implement it cleanly in one pass.
10
+
11
+ ## The Problem
12
+
13
+ You're mid-task and realize you need a plan:
14
+
15
+ *"Why is this code not working? We need more logs logging should be added let me write a proposal for logging."*
16
+
17
+ You could feed that plan directly into a coding model and hope it gets it right. Or you could catch blind spots early by having specialists review it first.
18
+
19
+ ## The Solution
20
+
21
+ Konsilio implements a **multi-stage consulting pipeline**:
22
+
23
+ 1. **Write a proposal** — a short document describing what you want to build or change
24
+ 2. **Feed it to the Council** — multiple expert personas (security, performance, DevOps, testing, etc.) review the plan in parallel, each from their own angle
25
+ 3. **4-phase consolidation** — a lead agent extracts claims, critiques contradictions, makes accept/reject decisions, and synthesizes a final blueprint
26
+ 4. **Implement with a clean slate** — hand the blueprint to a coding-focused model. It starts with empty context and executes the plan in one pass
27
+
28
+ **Rinse. Repeat. Rewind Selectah!**
29
+
30
+ ## Usage
31
+
32
+ ```bash
33
+ # Install
34
+ npm install -g konsilio
35
+
36
+ # Configure (edit konsilio.json with your personas and models)
37
+ # Set OPENROUTER_API_KEY in your environment
38
+
39
+ # Use via MCP in your AI coding tool
40
+ # Tool: consult_council
41
+ # Params: draft_plan, tech_stack (optional), context_constraints (optional)
42
+ ```
43
+
44
+ ### Example
45
+
46
+ ```json
47
+ {
48
+ "draft_plan": "Add structured logging to all API endpoints with correlation IDs",
49
+ "tech_stack": "Node.js, Express, Pino, PostgreSQL",
50
+ "context_constraints": "Must run on Proxmox LXC, no external dependencies"
51
+ }
52
+ ```
53
+
54
+ Returns a blueprint with architecture directives, edge cases, constraints, and numbered next steps.
55
+
56
+ ## Configuration
57
+
58
+ ```json
59
+ {
60
+ "personas": {
61
+ "enabled": ["security", "performance", "devops", "test-architect"]
62
+ },
63
+ "models": {
64
+ "experts": "google/gemini-2.5-flash-lite",
65
+ "lead": "google/gemini-2.5-pro"
66
+ }
67
+ }
68
+ ```
69
+
70
+ Default personas: `security`, `performance`, `ux-dx`, `devops`, `typescript`, `graph-dba`, `node-fullstack`, `dev-tooling`, `distributed-systems`, `test-architect`
71
+
72
+ ```mermaid
73
+ flowchart TD
74
+ A[Identify Need During Development] --> B[Write Proposal Document]
75
+ B --> C[Submit to Konsilio Council]
76
+
77
+ subgraph Council["Council Review (Parallel)"]
78
+ C --> E1[🔒 Security Expert]
79
+ C --> E2[ Performance Expert]
80
+ C --> E3[🚀 DevOps Expert]
81
+ C --> E4[🧪 Test Architect]
82
+ C --> E5[🎨 UX/DX Expert]
83
+ C --> E6[🛠️ Dev Tooling Expert]
84
+ end
85
+
86
+ E1 --> F[Prose Reports]
87
+ E2 --> F
88
+ E3 --> F
89
+ E4 --> F
90
+ E5 --> F
91
+ E6 --> F
92
+
93
+ F --> G[Formatter: prose → structured JSON]
94
+
95
+ subgraph Consolidation["4-Phase Consolidation"]
96
+ G --> H1[📋 Extraction Lead<br/>Extract all claims]
97
+ H1 --> H2[🔍 Critique Lead<br/>Find contradictions]
98
+ H2 --> H3[⚖️ Decision Lead<br/>Accept/Reject findings]
99
+ H3 --> H4[📝 Synthesis Lead<br/>Assemble blueprint]
100
+ end
101
+
102
+ H4 --> I[Final Blueprint<br/>with edge cases, constraints, next steps]
103
+ I --> J[Hand to Coding Model<br/>Clean slate, empty context]
104
+ J --> K[Implement in One Pass]
105
+
106
+ style Council fill:#f0f4ff,stroke:#4a6cf7,stroke-width:2px
107
+ style Consolidation fill:#fff8f0,stroke:#f7a44a,stroke-width:2px
108
+ style I fill:#e8f5e9,stroke:#4caf50,stroke-width:2px
109
+ ```
110
+
111
+ ## Architecture
112
+
113
+ ### Expert Personas
114
+
115
+ Each expert is a focused agent with a specific lens:
116
+
117
+ | Persona | Focus |
118
+ |---------|-------|
119
+ | 🔒 Security | Auth, injection, rate limiting, data exposure |
120
+ | Performance | Bottlenecks, caching, query patterns, scaling |
121
+ | 🚀 DevOps | Deployment, observability, infrastructure |
122
+ | 🧪 Test Architect | Coverage, edge cases, testability |
123
+ | 🎨 UX/DX | API design, developer experience, ergonomics |
124
+ | 🛠️ Dev Tooling | Build pipeline, linting, CI/CD |
125
+
126
+ Experts output **prose** — free-form analysis without JSON constraints.
127
+ **Note:** User-defined experts can be created by adding an `expert.md` file to `/data/personas/`
128
+
129
+ ### The Lead
130
+
131
+ The lead agent runs a 4-phase consolidation pipeline:
132
+
133
+ 1. **Extraction** — pulls all claims from expert reports into a unified list
134
+ 2. **Critique** — identifies contradictions, unsupported claims, and gaps
135
+ 3. **Decision** — explicitly accepts or rejects each finding
136
+ 4. **Synthesis** — assembles accepted findings into a coherent blueprint
137
+
138
+ ### The Formatter
139
+
140
+ A dedicated `gpt-4o-mini` instance converts expert prose to structured JSON using OpenAI's `response_format` feature. This keeps experts focused on analysis, not syntax.
141
+
142
+ ## Why This Works
143
+
144
+ ### 1. Specialized Experts Outperform Generalists
145
+
146
+ A council of focused expert agents, each primed with a specific role, surfaces more issues at lower cost than a single frontier model:
147
+
148
+ - **Chan et al. (2023)** — *"ChatEval: Towards Better LLM-based Evaluators through Multi-Agent Debate"* — showed that multiple role-conditioned agents debating produces more accurate evaluations than a single powerful model. [arXiv:2308.07201](https://arxiv.org/abs/2308.07201)
149
+
150
+ - **Du et al. (2023)** — *"Improving Factuality and Reasoning in Language Models through Multiagent Debate"* — demonstrated that multi-agent debate significantly improves accuracy over single-model inference, with agents catching each other's errors. [arXiv:2305.14325](https://arxiv.org/abs/2305.14325)
151
+
152
+ - **Liang et al. (2023)** *"Ensemble Learning for Large Language Models"* — found that combining multiple specialized models outperforms a single large model on complex tasks while using fewer total tokens. [arXiv:2305.07881](https://arxiv.org/abs/2305.07881)
153
+
154
+ ### 2. Separation of Analysis and Formatting
155
+
156
+ When a model is asked to return structured data directly, its reasoning quality degrades. Konsilio solves this by having experts write **prose first**, then using a dedicated formatter:
157
+
158
+ - **Dhuliawala et al. (2023)** — *"Chain-of-Verification Reduces Hallucination in Large Language Models"* — demonstrates that separating generation from verification significantly reduces errors. This is the core principle behind Konsilio's two-stage design. [arXiv:2309.11495](https://arxiv.org/abs/2309.11495)
159
+
160
+ - **Willison et al. (2023)** — *"Jsonformer: A Bulletproof Way to Generate Structured JSON from Language Models"* — documents how JSON schema constraints during generation interfere with reasoning quality, recommending a two-stage approach: generate content freely, then format. [arXiv:2305.15087](https://arxiv.org/abs/2305.15087)
161
+
162
+ - **Su et al. (2024)** *"The Impact of Reasoning Step Length on Large Language Models"* shows that adding structural constraints (like JSON output requirements) during reasoning reduces the model's ability to explore solution spaces, increasing error rates. [arXiv:2401.04991](https://arxiv.org/abs/2401.04991)
163
+
164
+ This is why Konsilio uses `gpt-4o-mini` as a **dedicated formatter** — it converts prose to JSON without the expert models having to juggle both reasoning and formatting simultaneously.
165
+
166
+ ### 3. Clean-Slate Implementation
167
+
168
+ By separating planning from execution, the coding model starts with **zero context overhead**. It receives a complete blueprint and executes — no need to re-derive the plan or carry forward the reasoning history. This reduces token costs and avoids context-window pollution.
169
+
170
+ # License
171
+
172
+ This software is released under the Unlicense: do whatever you want with it.
@@ -1,14 +1,14 @@
1
- ---
2
- id: "test-quoted"
3
- name: "Test Quoted Persona"
4
- emoji: "🧪"
5
- focusAreas:
6
- - "Testing quoted values"
7
- - "YAML parsing"
8
- domains:
9
- - "test"
10
- ---
11
-
12
- ## Anti-Patterns
13
-
1
+ ---
2
+ id: "test-quoted"
3
+ name: "Test Quoted Persona"
4
+ emoji: "🧪"
5
+ focusAreas:
6
+ - "Testing quoted values"
7
+ - "YAML parsing"
8
+ domains:
9
+ - "test"
10
+ ---
11
+
12
+ ## Anti-Patterns
13
+
14
14
  - "This is a quoted anti-pattern"
@@ -84,24 +84,24 @@ export class FormatterService {
84
84
  * Build the system prompt for the formatter
85
85
  */
86
86
  buildFormatterSystemPrompt(personaId) {
87
- return `You are a precise JSON formatter. Your job is to convert expert analysis prose into a structured JSON output.
88
-
89
- Extract the following from the prose:
90
- - findings: Specific issues with severity, component, issue description, and mitigation steps
91
- - risks: Potential risks with category, probability, impact, and description
92
- - missingAssumptions: Assumptions not stated in the analysis
93
- - dependencies: External dependencies or prerequisites mentioned
94
-
95
- Rules:
96
- - Use severity values: CRITICAL, HIGH, MEDIUM, LOW
97
- - Use category values: security, performance, operational, ux, technical-debt
98
- - Use probability/impact values: high, medium, low
99
- - Each finding must have a unique id (use kebab-case like "auth-rate-limit")
100
- - Each risk must have a unique id
101
- - Be precise and complete - capture all findings from the prose
102
- - Do not add findings not supported by the prose
103
- - Set personaId to: ${personaId}
104
-
87
+ return `You are a precise JSON formatter. Your job is to convert expert analysis prose into a structured JSON output.
88
+
89
+ Extract the following from the prose:
90
+ - findings: Specific issues with severity, component, issue description, and mitigation steps
91
+ - risks: Potential risks with category, probability, impact, and description
92
+ - missingAssumptions: Assumptions not stated in the analysis
93
+ - dependencies: External dependencies or prerequisites mentioned
94
+
95
+ Rules:
96
+ - Use severity values: CRITICAL, HIGH, MEDIUM, LOW
97
+ - Use category values: security, performance, operational, ux, technical-debt
98
+ - Use probability/impact values: high, medium, low
99
+ - Each finding must have a unique id (use kebab-case like "auth-rate-limit")
100
+ - Each risk must have a unique id
101
+ - Be precise and complete - capture all findings from the prose
102
+ - Do not add findings not supported by the prose
103
+ - Set personaId to: ${personaId}
104
+
105
105
  Output ONLY valid JSON. No markdown, no explanations.`;
106
106
  }
107
107
  /**
package/package.json CHANGED
@@ -1,68 +1,68 @@
1
- {
2
- "name": "konsilio",
3
- "version": "0.3.0",
4
- "description": "Konsilio MCP server runs draft plans through a multi-persona architectural review.",
5
- "keywords": [
6
- "mcp",
7
- "model-context-protocol",
8
- "code-review",
9
- "architecture",
10
- "ai",
11
- "multi-agent",
12
- "expert-system",
13
- "planning",
14
- "consulting",
15
- "blueprint"
16
- ],
17
- "homepage": "https://github.com/edzillion/konsilio#readme",
18
- "bugs": {
19
- "url": "https://github.com/edzillion/konsilio/issues"
20
- },
21
- "repository": {
22
- "type": "git",
23
- "url": "git+https://github.com/edzillion/konsilio.git"
24
- },
25
- "license": "Unlicense",
26
- "author": "edzillion",
27
- "type": "module",
28
- "exports": {
29
- ".": "./build/index.js",
30
- "./schema": "./konsilio.schema.json"
31
- },
32
- "main": "build/index.js",
33
- "types": "./build/index.d.ts",
34
- "bin": {
35
- "konsilio": "build/index.js"
36
- },
37
- "files": [
38
- "build/",
39
- "konsilio.schema.json"
40
- ],
41
- "scripts": {
42
- "build": "tsc -p tsconfig.build.json && node scripts/copy-assets.mjs",
43
- "dev": "tsc --watch",
44
- "start": "node build/index.js",
45
- "start:server": "node build/server.js",
46
- "inspect": "npx @modelcontextprotocol/inspector node /g/dev/konsilio/build/index.js",
47
- "typecheck": "tsc --noEmit",
48
- "history": "node build/cli/history.js",
49
- "test": "vitest run --reporter=verbose",
50
- "test-agent": "vitest run --reporter=json | jq \".testResults[] | {name, status, errors}\"",
51
- "test:watch": "vitest",
52
- "test:coverage": "vitest run --coverage"
53
- },
54
- "dependencies": {
55
- "@modelcontextprotocol/sdk": "^1.28.0",
56
- "pino": "^10.3.1",
57
- "sql.js": "^1.14.1",
58
- "zod": "^4.3.6"
59
- },
60
- "devDependencies": {
61
- "@modelcontextprotocol/inspector": "^0.21.1",
62
- "@types/node": "^25.5.0",
63
- "@types/sql.js": "^1.4.11",
64
- "@vitest/coverage-v8": "^4.1.2",
65
- "typescript": "^6.0.2",
66
- "vitest": "^4.1.2"
67
- }
68
- }
1
+ {
2
+ "name": "konsilio",
3
+ "version": "0.3.1",
4
+ "description": "Konsilio MCP server runs draft plans through a multi-persona architectural review.",
5
+ "keywords": [
6
+ "mcp",
7
+ "model-context-protocol",
8
+ "code-review",
9
+ "architecture",
10
+ "ai",
11
+ "multi-agent",
12
+ "expert-system",
13
+ "planning",
14
+ "consulting",
15
+ "blueprint"
16
+ ],
17
+ "homepage": "https://github.com/edzillion/konsilio#readme",
18
+ "bugs": {
19
+ "url": "https://github.com/edzillion/konsilio/issues"
20
+ },
21
+ "repository": {
22
+ "type": "git",
23
+ "url": "git+https://github.com/edzillion/konsilio.git"
24
+ },
25
+ "license": "Unlicense",
26
+ "author": "edzillion",
27
+ "type": "module",
28
+ "exports": {
29
+ ".": "./build/index.js",
30
+ "./schema": "./konsilio.schema.json"
31
+ },
32
+ "main": "build/index.js",
33
+ "types": "./build/index.d.ts",
34
+ "bin": {
35
+ "konsilio": "build/index.js"
36
+ },
37
+ "files": [
38
+ "build/",
39
+ "konsilio.schema.json"
40
+ ],
41
+ "scripts": {
42
+ "build": "tsc -p tsconfig.build.json && node scripts/copy-assets.mjs",
43
+ "dev": "tsc --watch",
44
+ "start": "node build/index.js",
45
+ "start:server": "node build/server.js",
46
+ "inspect": "npx @modelcontextprotocol/inspector node /g/dev/konsilio/build/index.js",
47
+ "typecheck": "tsc --noEmit",
48
+ "history": "node build/cli/history.js",
49
+ "test": "vitest run --reporter=verbose",
50
+ "test-agent": "vitest run --reporter=json | jq \".testResults[] | {name, status, errors}\"",
51
+ "test:watch": "vitest",
52
+ "test:coverage": "vitest run --coverage"
53
+ },
54
+ "dependencies": {
55
+ "@modelcontextprotocol/sdk": "^1.28.0",
56
+ "pino": "^10.3.1",
57
+ "sql.js": "^1.14.1",
58
+ "zod": "^4.3.6"
59
+ },
60
+ "devDependencies": {
61
+ "@modelcontextprotocol/inspector": "^0.21.1",
62
+ "@types/node": "^25.5.0",
63
+ "@types/sql.js": "^1.4.11",
64
+ "@vitest/coverage-v8": "^4.1.2",
65
+ "typescript": "^6.0.2",
66
+ "vitest": "^4.1.2"
67
+ }
68
+ }