sqlew 4.0.3 → 4.0.5

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/README.md CHANGED
@@ -2,91 +2,165 @@
2
2
  ![sqlew_logo](assets/sqlew-logo.png)
3
3
 
4
4
  [![npm version](https://img.shields.io/npm/v/sqlew.svg)](https://www.npmjs.com/package/sqlew)
5
- [![License: AGPL v3](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0)
5
+ [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
6
6
 
7
- > **Never Start From Zero Context Again** – An MCP server that gives AI agents a shared SQL-backed context repository
7
+ > **ADR (Architecture Decision Record) for AI Agents** – An MCP server that enables AI agents to create, query, and maintain architecture decision records in a structured SQL database
8
+
9
+ ## 🚀 Quick Start: /sqlew Command
10
+
11
+ **The `/sqlew` command is the easiest way to use sqlew!** Just type `/sqlew` in Claude Code with natural language input.
12
+
13
+ ### Most Common Uses
14
+
15
+ ```bash
16
+ # Show status and get suggestions
17
+ /sqlew
18
+
19
+ # Record a decision
20
+ /sqlew record we use PostgreSQL 15 for production database
21
+
22
+ # Search past decisions
23
+ /sqlew search why we chose Knex for migrations
24
+
25
+ # List remaining tasks
26
+ /sqlew show remaining tasks
27
+
28
+ # Plan a new feature (breakdown into tasks)
29
+ /sqlew plan implementing user authentication
30
+ ```
31
+
32
+ The `/sqlew` command automatically detects your intent (search, record, list, execute, task creation) and invokes the appropriate MCP tools.
33
+
34
+ ---
8
35
 
9
36
  ## What is sqlew?
10
37
 
11
- **sqlew** is a Model Context Protocol (MCP) server that provides AI agents with a shared SQL-backed context repository across sessions.
38
+ **sqlew** is a Model Context Protocol (MCP) server that brings ADR (Architecture Decision Record) capabilities to AI agents through a shared SQL-backed repository.
12
39
 
13
- ### Concerns About AI Coding
14
- Every Claude session starts with zero context. You must re-explain decisions, agents can reintroduce bugs, and there's no way to track WHY decisions were made.
40
+ ### The Problem: AI Agents Lack Decision Memory
41
+ Every AI session starts with zero context. Agents must re-learn architectural decisions, can reintroduce previously rejected patterns, and have no systematic way to understand WHY past choices were made.
15
42
 
16
- It is possible to keep records using Markdown files.
17
- However, maintaining records for large-scale projects and long-term maintenance generates an enormous volume of documentation.
43
+ Traditional ADR approaches use Markdown files scattered across repositories. While human-readable, this format creates challenges for AI agents:
44
+ - **No structured querying** AI must read entire files to find relevant decisions
45
+ - **Context explosion** – Token costs grow linearly with decision history
46
+ - **No duplicate detection** – AI cannot easily identify similar or conflicting decisions
47
+ - **Poor discoverability** – Finding related decisions requires full-text search across many files
18
48
 
19
- This has become problematic because it causes context rotting in AI systems, leading to performance deterioration.
49
+ ### *sqlew* brings structured ADR to AI agents
50
+ sqlew transforms ADR from static documentation into a **queryable, AI-native decision database**:
20
51
 
21
- ### *sqlew* provides the solution for this problem
22
- sqlew builds an efficient external context repository for AI by using relational databases.
23
- - Records the reasoning behind decisions
24
- - Enables querying past context
25
- - Prevents anti-patterns through constraints
26
- - Eliminates duplicate work via task management
52
+ - **Structured records** Decisions stored as relational data with metadata, tags, and relationships
53
+ - **Efficient querying** AI agents retrieve only relevant decisions via SQL queries
54
+ - **Smart suggestions** Three-tier similarity system detects duplicate or related decisions
55
+ - **Constraint tracking** Architectural rules and principles as first-class entities
56
+ - **Task integration** Link decisions to implementation tasks and affected files
27
57
 
28
58
  > *This software does not send any data to external networks. We NEVER collect any data or usage statistics. Please use it with complete security.*
29
59
 
30
- ## Concept: Decision & Constraint Repository Layer
60
+ ## Concept: ADR (Architecture Decision Record) for AI Agents
31
61
 
32
- sqlew originally started as a way to reduce duplicated work and inconsistent behavior across multiple AI agents. Instead of letting every new session re-read the same documents and reinvent similar code, sqlew centralizes context in a shared SQL database.
62
+ **Architecture Decision Records (ADR)** document the architectural decisions made on a project, including context, consequences, and alternatives considered. sqlew extends this proven pattern to AI agents.
33
63
 
34
- With recent LLMs, the most valuable part of this shared context has proved to be the **history of Decisions and Constraints**:
64
+ ### Core ADR Concepts in sqlew
35
65
 
36
- - **Decisions** capture *why* a change or design choice was made (trade-offs, rejected options, rationale).
37
- - **Constraints** capture *how* things should be done (coding rules, architecture boundaries, performance requirements).
66
+ **Decisions** capture architectural choices with full context:
67
+ - **What** was decided (the decision itself)
68
+ - **Why** it was chosen (rationale, trade-offs)
69
+ - **What else** was considered (alternatives rejected)
70
+ - **Impact** on the system (consequences, affected components)
38
71
 
39
- Modern versions of sqlew treat this decision & constraint history as **first-class data**:
72
+ **Constraints** define architectural principles and rules:
73
+ - **Performance requirements** (response time limits, throughput goals)
74
+ - **Technology choices** ("must use PostgreSQL", "avoid microservices")
75
+ - **Coding standards** ("async/await only", "no any types")
76
+ - **Security policies** (authentication patterns, data handling rules)
40
77
 
41
- - The database schema is optimized around Decisions and Constraints instead of generic notes.
42
- - A three-tier **duplicate detection and suggestion system** helps you reuse existing Decisions/Constraints instead of creating nearly identical ones.
43
- - Legacy, unused features have been removed or simplified to keep the focus on long-term context and consistency.
78
+ **Implementation tracking** connects decisions to reality:
79
+ - **Tasks** link decisions to actual implementation work
80
+ - **File tracking** shows which code was affected by decisions
81
+ - **Status evolution** tracks decision lifecycle (draft → active → deprecated)
44
82
 
45
- In practice, sqlew acts as a **Decision & Constraint repository layer** for your AI tools: agents can query what was decided before, which rules already exist, and how similar situations were handled previously.
83
+ ### Why SQL for ADR?
46
84
 
47
- ## Why Use sqlew?
85
+ Traditional text-based ADR forces AI to:
86
+ - Read complete files even for simple queries
87
+ - Parse unstructured text to find relationships
88
+ - Manually detect duplicate or conflicting decisions
48
89
 
49
- ### 🧠 Organizational Memory
50
- Traditional code analysis like git tells you **WHAT** is done, sqlew adds **WHY** and **HOW** on it:
51
- - **Decisions** WHY it was changed
52
- - **Constraints** HOW should it be written
53
- - **Tasks** WHAT needs to be done
90
+ sqlew's **SQL-backed ADR repository** enables AI to:
91
+ - Query by layer, tags, status in milliseconds (2-50ms)
92
+ - Join decisions with constraints, tasks, and files
93
+ - Leverage similarity algorithms to prevent duplicates
94
+ - Scale to thousands of decisions without context explosion
54
95
 
55
- ### Token Efficiency
56
- **60-75% token reduction** in multi-session projects through structured data storage and selective querying.
96
+ **Token efficiency**: 60-75% reduction compared to reading Markdown ADRs
57
97
 
58
- ### 🎯 Key Benefits for Your Development Workflow
98
+ ### Why RDBMS + MCP for ADR?
59
99
 
60
- #### 🧠 **Context Persistence Across Sessions**
61
- - **No More Re-Explaining**: AI remembers decisions from weeks ago - no need to re-explain "why we chose PostgreSQL over MongoDB"
62
- - **Session Continuity**: Pick up exactly where you left off, even after days or weeks
63
- - **Team Knowledge Sharing**: New team members (or new AI sessions) instantly understand past decisions
100
+ **RDBMS (Relational Database)** provides efficient structured queries:
101
+ - **Indexed searches** Find decisions by tags/layers in milliseconds, not seconds
102
+ - **JOIN operations** Query related decisions, constraints, and tasks in a single operation
103
+ - **Transaction support** ACID guarantees ensure data integrity across concurrent AI agents
104
+ - **Scalability** – Handle thousands of ADRs without performance degradation
64
105
 
65
- #### 🛡️ **Prevents Context Rotting & Inconsistency**
66
- - **Architectural Constraints**: Define rules once ("always use async/await, never callbacks"), AI follows them forever
67
- - **Version History**: Track how decisions evolved - see what changed and when
106
+ **MCP (Model Context Protocol)** enables seamless AI integration:
107
+ - **Direct tool access** AI agents call ADR operations as native functions
108
+ - **Token efficiency** Retrieve only required data, avoiding full-file reads
109
+ - **Type safety** – Structured parameters prevent errors and guide correct usage
110
+ - **Cross-session persistence** – ADRs survive beyond individual chat sessions
68
111
 
69
- #### 🎯 **Enables Consistent, High-Quality Code**
70
- - **Bug Prevention**: AI won't reintroduce bugs you already fixed (decisions document "what didn't work")
71
- - **Pattern Enforcement**: Constraints ensure AI writes code matching your team's style
72
- - **Context-Aware Suggestions**: AI sees related decisions before creating new ones ("Did you know we already solved this?")
73
- - **Rationale Documentation**: Every decision includes WHY it was made, preventing cargo-cult programming
112
+ **Together**: AI agents gain SQL-powered ADR capabilities without managing databases directly.
74
113
 
75
- #### 📊 **Transparent AI Work Tracking**
76
- - **Task Dependencies**: AI knows Task B needs Task A completed first
77
- - **Auto File Watching**: Tasks auto-update when AI edits tracked files (zero manual updates)
78
- - **Progress Visibility**: See exactly what AI is working on, what's blocked, what's done
114
+ ## Why Use sqlew?
79
115
 
80
- #### **Efficiency & Reliability**
81
- - **60-75% Token Reduction**: Structured data beats dumping entire context into prompts
82
- - **Reduce Context Rot**: No more "this README is 50 pages and AI ignores half of it"
83
- - **Production-Ready**: 495/495 tests passing (100%), battle-tested on real projects
116
+ ### 🏛️ ADR Made AI-Native
117
+ Traditional ADR approaches weren't designed for AI agents. sqlew reimagines ADR for the AI era:
118
+
119
+ | Traditional ADR (Markdown) | sqlew ADR (SQL) |
120
+ |---------------------------|-----------------|
121
+ | Read entire files | Query specific decisions |
122
+ | Manual duplicate checking | Automatic similarity detection |
123
+ | Text parsing required | Structured, typed data |
124
+ | Linear token scaling | Constant-time lookups |
125
+ | File-based organization | Relational queries with JOINs |
126
+
127
+ ### 🎯 Key Benefits for AI-Driven Development
128
+
129
+ #### 📚 **Persistent Architectural Memory**
130
+ - **Zero context loss** – AI agents remember every architectural decision across sessions
131
+ - **Rationale preservation** – Never forget WHY a decision was made, not just WHAT
132
+ - **Alternative tracking** – Document rejected options to prevent circular debates
133
+ - **Evolution history** – See how decisions changed over time with full version history
134
+
135
+ #### 🛡️ **Prevent Architectural Drift**
136
+ - **Constraint enforcement** – Define architectural rules once, AI follows them forever
137
+ - **Pattern consistency** – AI generates code matching established patterns automatically
138
+ - **Anti-pattern prevention** – Document "what NOT to do" as enforceable constraints
139
+ - **Regression prevention** – AI won't reintroduce previously rejected approaches
140
+
141
+ #### 🔍 **Intelligent Decision Discovery**
142
+ - **Similarity detection** – AI identifies duplicate or related decisions before creating new ones
143
+ - **Context-aware search** – Query by layer, tags, or relationships to find relevant decisions
144
+ - **Impact analysis** – Trace which files and tasks are affected by each decision
145
+ - **Conflict detection** – Find decisions that contradict or supersede each other
146
+
147
+ #### 📊 **Implementation Transparency**
148
+ - **Decision-to-task linking** – Track implementation status of architectural choices
149
+ - **File impact tracking** – See exactly which code implements each decision
150
+ - **Status lifecycle** – Draft → Active → Deprecated → Superseded transitions
151
+ - **Progress visibility** – Monitor which ADRs are implemented, which are pending
152
+
153
+ #### ⚡ **Extreme Efficiency**
154
+ - **60-75% token reduction** – Query only relevant decisions instead of reading all ADRs
155
+ - **Millisecond queries** – 2-50ms response times even with thousands of decisions
156
+ - **Scalable architecture** – Perform well with large decision histories
157
+ - **Production-ready** – 495/495 tests passing (100%), battle-tested on real projects
84
158
 
85
159
  ---
86
160
 
87
- **Technical Features**: 6 specialized MCP tools (decisions, tasks, files, constraints, stats, suggest), smart similarity scoring (0-100 point algorithm), runtime reconnection, parameter validation, metadata-driven organization
161
+ **Technical Features**: 8 MCP tools (5 core: decision, constraint, task, file, suggest + 3 utility: help, example, use_case), three-tier similarity detection (0-100 point scoring), ACID transaction support, multi-database backend (SQLite/PostgreSQL/MySQL), metadata-driven organization with layers and tags
88
162
 
89
- See [docs/TASK_OVERVIEW.md](docs/TASK_OVERVIEW.md) and [docs/DECISION_CONTEXT.md](docs/DECISION_CONTEXT.md) for details.
163
+ See [docs/DECISION_CONTEXT.md](docs/DECISION_CONTEXT.md) for ADR data model details.
90
164
 
91
165
  ### 🔖Kanban-style AI Scrum
92
166
  ![kanban-style task management](assets/kanban-visualizer.png)
@@ -119,33 +193,6 @@ The first time, sqlew initializes database, installs custom agents and slash com
119
193
 
120
194
  It's Ready!
121
195
 
122
- ## 🚀 Quick Start: /sqlew Command
123
-
124
- **The `/sqlew` command is the easiest way to use sqlew!** Just type `/sqlew` in Claude Code with natural language input.
125
-
126
- ### Most Common Uses
127
-
128
- ```bash
129
- # Show status and get suggestions
130
- /sqlew
131
-
132
- # Record a decision
133
- /sqlew record we use PostgreSQL 15 for production database
134
-
135
- # Search past decisions
136
- /sqlew search why we chose Knex for migrations
137
-
138
- # List remaining tasks
139
- /sqlew show remaining tasks
140
-
141
- # Plan a new feature (breakdown into tasks)
142
- /sqlew plan implementing user authentication
143
- ```
144
-
145
- The `/sqlew` command automatically detects your intent (search, record, list, execute, task creation) and invokes the appropriate MCP tools.
146
-
147
- ---
148
-
149
196
  **⚠️Note**: Global install (`npm install -g`) is **not recommended** because sqlew requires an independent settings per project. Each project should maintain its own context database in `.sqlew/sqlew.db`.
150
197
 
151
198
  **Custom database path:** Add path as argument: `"args": ["sqlew", "/path/to/db.db"]`
@@ -275,14 +322,23 @@ Power users can still call MCP tools directly. See [Available Tools](#available-
275
322
 
276
323
  ### Available Tools
277
324
 
325
+ #### Core ADR Tools
326
+
278
327
  | Tool | Purpose | Example Use |
279
328
  |------|---------|------------|
280
- | **decision** | Record choices and reasons | "We chose PostgreSQL" |
281
- | **constraint** | Define rules | "DO NOT use raw SQL, use ORM" |
282
- | **task** | Track work | "Implement feature X" |
283
- | **file** | Track changes | "Modified auth.ts" |
284
- | **stats** | Database metrics | Get layer summary |
285
- | **suggest** | Find similar decisions (v3.9.0) | Duplicate detection, pattern search |
329
+ | **decision** | Record architectural decisions with context | "We chose PostgreSQL over MongoDB (ACID requirement)" |
330
+ | **constraint** | Define architectural rules and principles | "All API endpoints must use /v2/ prefix" |
331
+ | **task** | Track implementation of decisions | "Implement JWT authentication" |
332
+ | **file** | Track code changes linked to decisions | "Modified auth.ts per security ADR" |
333
+ | **suggest** | Find similar decisions, prevent duplicates | Duplicate detection, similarity search |
334
+
335
+ #### Utility Tools
336
+
337
+ | Tool | Purpose | Example Use |
338
+ |------|---------|------------|
339
+ | **help** | Query action documentation and parameters | Get decision.set parameters |
340
+ | **example** | Browse code examples by tool/action | Find task.create examples |
341
+ | **use_case** | Complete workflow scenarios | Multi-step ADR workflows |
286
342
 
287
343
 
288
344
  ## Documentation
@@ -333,10 +389,32 @@ All tools support:
333
389
 
334
390
  ## Use Cases
335
391
 
336
- - **Multi-Agent Coordination**: Orchestrators create tasks, agents send status updates
337
- - **Breaking Change Management**: Record deprecations and add architectural constraints
338
- - **Decision Context**: Document rationale, alternatives considered, and trade-offs
339
- - **Session Continuity**: Save progress in Session 1, resume in Session 2
392
+ ### ADR-Driven Development with AI
393
+ - **Architecture Evolution** Document major architectural decisions with full context and alternatives
394
+ - **Pattern Standardization** Establish coding patterns as constraints, enforce via AI code generation
395
+ - **Technical Debt Tracking** Record temporary decisions with deprecation paths and future plans
396
+ - **Onboarding Acceleration** – New AI sessions instantly understand architectural history
397
+
398
+ ### Cross-Session AI Workflows
399
+ - **Multi-Session Projects** – AI maintains context across days/weeks without re-reading documentation
400
+ - **Multi-Agent Coordination** – Multiple AI agents share architectural understanding through ADR database
401
+ - **Breaking Change Management** – Document API changes, deprecations, and migration paths systematically
402
+ - **Refactoring Guidance** – AI references past decisions to maintain architectural consistency during refactors
403
+
404
+ ### Real-World Examples
405
+ ```bash
406
+ # Document an architectural decision with alternatives
407
+ /sqlew record we use PostgreSQL over MongoDB. MongoDB was rejected due to lack of ACID transactions for our financial data requirements.
408
+
409
+ # Search for past decisions before making new ones
410
+ /sqlew search why did we choose JWT authentication
411
+
412
+ # Create constraint to guide AI code generation
413
+ /sqlew add constraint all API endpoints must use /v2/ prefix for versioning
414
+
415
+ # Plan implementation of a decision
416
+ /sqlew plan implementing the PostgreSQL connection pool with pgBouncer
417
+ ```
340
418
 
341
419
  See [docs/WORKFLOWS.md](docs/WORKFLOWS.md) for detailed multi-step examples.
342
420
 
@@ -370,7 +448,7 @@ See [docs/DECISION_INTELLIGENCE.md](docs/DECISION_INTELLIGENCE.md) for details o
370
448
 
371
449
  ## License
372
450
 
373
- AGPLv3 - Free to use. Open-source required when embedding or modifying. See [LICENSE](LICENSE) for details.
451
+ Apache License 2.0 - Free for commercial and personal use. See [LICENSE](LICENSE) for details.
374
452
 
375
453
  ## Links
376
454
 
@@ -2,11 +2,11 @@
2
2
 
3
3
  When `<system-reminder>Plan mode is active</system-reminder>` appears:
4
4
 
5
- ### Phase 1 (Research) - Check existing context:
5
+ ### Research Phase - Check existing context:
6
6
  - `mcp__sqlew__suggest action="by_tags"` - find related decisions
7
7
  - `mcp__sqlew__task action="list" status="in_progress"` - check active tasks
8
8
 
9
- ### Phase 4 (Final Plan) - Record outcomes:
9
+ ### Final Plan Phase - Record outcomes:
10
10
  - `mcp__sqlew__decision action="set"` - record key architectural decisions
11
11
  - `mcp__sqlew__task action="create_batch"` - create implementation tasks
12
12
 
@@ -190,6 +190,22 @@ architect = true
190
190
  # NOTE: Documentation is centralized in docs/SPECIALIZED_AGENTS.md
191
191
  # See: https://github.com/sin5ddd/mcp-sqlew/blob/main/docs/SPECIALIZED_AGENTS.md
192
192
 
193
+ # ============================================================================
194
+ # Slash Commands Settings
195
+ # ============================================================================
196
+ [commands]
197
+ # Which slash commands to install on server startup
198
+ # Set to false to skip commands you don't need
199
+
200
+ # /sqlew: Unified natural language interface for decisions and tasks
201
+ # Usage: /sqlew <what you want to do>
202
+ # Examples:
203
+ # /sqlew show remaining tasks
204
+ # /sqlew search for auth decisions
205
+ # /sqlew record that we use PostgreSQL 15
206
+ # Default: true
207
+ sqlew = true
208
+
193
209
  # ============================================================================
194
210
  # Example Configurations
195
211
  # ============================================================================
@@ -3,6 +3,7 @@ name: sqlew-architect
3
3
  description: Use this agent when you need to document architectural decisions, enforce design constraints, maintain technical standards, and ensure long-term system integrity. Specialized in creating decision records with comprehensive rationale, establishing constraints, and validating architectural compliance. This agent is your guardian of design quality and consistency.
4
4
  model: opus
5
5
  color: green
6
+ skills: sqlew-plan-guidance
6
7
  Examples:
7
8
 
8
9
  <example>
@@ -3,6 +3,7 @@ name: sqlew-researcher
3
3
  description: Use this agent when you need to query, analyze, and extract insights from sqlew's context database. Specialized in searching decisions, reviewing constraints, analyzing task patterns, and investigating historical context. This agent is your go-to for understanding "what was decided and why" across the project lifecycle.
4
4
  model: haiku
5
5
  color: blue
6
+ skills: sqlew-plan-guidance
6
7
  Examples:
7
8
 
8
9
  <example>
@@ -3,6 +3,7 @@ name: scrum-master
3
3
  description: Use this agent when you need to coordinate multi-agent development work, manage agile workflows, track tasks and dependencies using sqlew, or facilitate sprint planning and execution. This agent should proactively monitor project progress and ensure efficient collaboration between sub-agents.
4
4
  model: sonnet
5
5
  color: purple
6
+ skills: sqlew-plan-guidance
6
7
  Examples:
7
8
 
8
9
  <example>
@@ -1 +1 @@
1
- {"version":3,"file":"minimal-generator.d.ts","sourceRoot":"","sources":["../../src/config/minimal-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CA6F9C;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,WAAW,GAAE,MAAsB,GAAG,OAAO,CAmB3F;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,WAAW,GAAE,MAAsB,GAAG,MAAM,CAEzE"}
1
+ {"version":3,"file":"minimal-generator.d.ts","sourceRoot":"","sources":["../../src/config/minimal-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CA0E9C;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,WAAW,GAAE,MAAsB,GAAG,OAAO,CAmB3F;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,WAAW,GAAE,MAAsB,GAAG,MAAM,CAEzE"}
@@ -10,97 +10,78 @@ import { join, dirname } from 'path';
10
10
  * @returns TOML content string
11
11
  */
12
12
  export function generateMinimalConfig() {
13
- return `# sqlew Minimal Configuration
14
- # Generated automatically - edit as needed
15
- # Full example: .sqlew/config.example.toml
16
- # Documentation: https://github.com/sin5ddd/mcp-sqlew
17
-
18
- # ============================================================================
19
- # Specialized Agents Settings
20
- # ============================================================================
21
- [agents]
22
- # Which specialized agents to install when running: npx sqlew-init-agents
23
- # Set to false to skip agents you don't need (reduces token consumption)
24
-
25
- # Scrum Master: Multi-agent coordination, task management, sprint planning
26
- # Token cost: ~12KB per conversation when loaded in Claude Code
27
- scrum_master = true
28
-
29
- # Researcher: Query decisions, analyze patterns, investigate context
30
- # Token cost: ~14KB per conversation when loaded in Claude Code
31
- researcher = true
32
-
33
- # Architect: Document decisions, enforce constraints, maintain standards
34
- # Token cost: ~20KB per conversation when loaded in Claude Code
35
- architect = true
36
-
37
- # Example: Minimal installation (only Scrum Master for task management)
38
- # [agents]
39
- # scrum_master = true
40
- # researcher = false
41
- # architect = false
42
-
43
- # ============================================================================
44
- # Slash Commands Settings
45
- # ============================================================================
46
- [commands]
47
- # Which slash commands to install on server startup
48
- # Set to false to skip commands you don't need
49
-
50
- # /sqw-documentor: Document architectural decisions with context
51
- documentor = true
52
-
53
- # /sqw-secretary: Record decisions (like meeting minutes)
54
- secretary = true
55
-
56
- # /sqw-plan: Planning workflow (architecture + tasks)
57
- plan = true
58
-
59
- # /sqw-research: Search and analyze decision/task history
60
- research = true
61
-
62
- # /sqw-review: Validate architectural consistency
63
- review = true
64
-
65
- # /sqw-scrum: Task management + agent coordination
66
- scrum = true
67
-
68
- # Example: Minimal installation (only core workflows)
69
- # [commands]
70
- # plan = true
71
- # secretary = true
72
- # research = false
73
- # review = false
74
- # documentor = false
75
- # scrum = false
76
-
77
- # ============================================================================
78
- # Other Settings (Optional - uncomment to customize)
79
- # ============================================================================
80
-
81
- # [autodelete]
82
- # # Skip weekends when calculating retention periods
83
- # ignore_weekend = false
84
- # # Message retention period in hours
85
- # message_hours = 24
86
- # # File change history retention in days
87
- # file_history_days = 7
88
-
89
- # [tasks]
90
- # # Auto-archive done tasks after N days
91
- # auto_archive_done_days = 2
92
- # # Stale detection threshold for in_progress tasks (hours)
93
- # stale_hours_in_progress = 2
94
- # # Stale detection threshold for waiting_review tasks (hours)
95
- # stale_hours_waiting_review = 24
96
- # # Enable automatic stale detection
97
- # auto_stale_enabled = true
98
-
99
- # [debug]
100
- # # Debug log file path (optional)
101
- # # log_path = ".sqlew/debug.log"
102
- # # Log level: "error", "warn", "info", "debug"
103
- # # log_level = "info"
13
+ return `# sqlew Minimal Configuration
14
+ # Generated automatically - edit as needed
15
+ # Full example: .sqlew/config.example.toml
16
+ # Documentation: https://github.com/sin5ddd/mcp-sqlew
17
+
18
+ # ============================================================================
19
+ # Specialized Agents Settings
20
+ # ============================================================================
21
+ [agents]
22
+ # Which specialized agents to install when running: npx sqlew-init-agents
23
+ # Set to false to skip agents you don't need (reduces token consumption)
24
+
25
+ # Scrum Master: Multi-agent coordination, task management, sprint planning
26
+ # Token cost: ~12KB per conversation when loaded in Claude Code
27
+ scrum_master = true
28
+
29
+ # Researcher: Query decisions, analyze patterns, investigate context
30
+ # Token cost: ~14KB per conversation when loaded in Claude Code
31
+ researcher = true
32
+
33
+ # Architect: Document decisions, enforce constraints, maintain standards
34
+ # Token cost: ~20KB per conversation when loaded in Claude Code
35
+ architect = true
36
+
37
+ # Example: Minimal installation (only Scrum Master for task management)
38
+ # [agents]
39
+ # scrum_master = true
40
+ # researcher = false
41
+ # architect = false
42
+
43
+ # ============================================================================
44
+ # Slash Commands Settings
45
+ # ============================================================================
46
+ [commands]
47
+ # Which slash commands to install on server startup
48
+ # Set to false to skip commands you don't need
49
+
50
+ # /sqlew: Unified natural language interface for decisions and tasks
51
+ # Usage: /sqlew <what you want to do>
52
+ # Examples:
53
+ # /sqlew show remaining tasks
54
+ # /sqlew search for auth decisions
55
+ # /sqlew record that we use PostgreSQL 15
56
+ sqlew = true
57
+
58
+ # ============================================================================
59
+ # Other Settings (Optional - uncomment to customize)
60
+ # ============================================================================
61
+
62
+ # [autodelete]
63
+ # # Skip weekends when calculating retention periods
64
+ # ignore_weekend = false
65
+ # # Message retention period in hours
66
+ # message_hours = 24
67
+ # # File change history retention in days
68
+ # file_history_days = 7
69
+
70
+ # [tasks]
71
+ # # Auto-archive done tasks after N days
72
+ # auto_archive_done_days = 2
73
+ # # Stale detection threshold for in_progress tasks (hours)
74
+ # stale_hours_in_progress = 2
75
+ # # Stale detection threshold for waiting_review tasks (hours)
76
+ # stale_hours_waiting_review = 24
77
+ # # Enable automatic stale detection
78
+ # auto_stale_enabled = true
79
+
80
+ # [debug]
81
+ # # Debug log file path (optional)
82
+ # # log_path = ".sqlew/debug.log"
83
+ # # Log level: "error", "warn", "info", "debug"
84
+ # # log_level = "info"
104
85
  `;
105
86
  }
106
87
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"minimal-generator.js","sourceRoot":"","sources":["../../src/config/minimal-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAErC;;;;GAIG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2FR,CAAC;AACF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,8BAA8B,CAAC,cAAsB,OAAO,CAAC,GAAG,EAAE;IAChF,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IAE9D,4CAA4C;IAC5C,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,8CAA8C;IAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,uBAAuB;IACvB,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;IACxC,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAE5C,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,cAAsB,OAAO,CAAC,GAAG,EAAE;IAC/D,OAAO,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"minimal-generator.js","sourceRoot":"","sources":["../../src/config/minimal-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAErC;;;;GAIG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwER,CAAC;AACF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,8BAA8B,CAAC,cAAsB,OAAO,CAAC,GAAG,EAAE;IAChF,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IAE9D,4CAA4C;IAC5C,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,8CAA8C;IAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,uBAAuB;IACvB,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;IACxC,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAE5C,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,cAAsB,OAAO,CAAC,GAAG,EAAE;IAC/D,OAAO,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;AACpD,CAAC"}
@@ -296,18 +296,8 @@ export interface AgentsConfig {
296
296
  * Slash commands configuration
297
297
  */
298
298
  export interface CommandsConfig {
299
- /** Install /sqw-documentor command (document architectural decisions) */
300
- documentor?: boolean;
301
- /** Install /sqw-secretary command (record decisions like meeting minutes) */
302
- secretary?: boolean;
303
- /** Install /sqw-plan command (planning workflow) */
304
- plan?: boolean;
305
- /** Install /sqw-research command (research workflow) */
306
- research?: boolean;
307
- /** Install /sqw-review command (review workflow) */
308
- review?: boolean;
309
- /** Install /sqw-scrum command (task management + agent coordination) */
310
- scrum?: boolean;
299
+ /** Install /sqlew command (unified natural language interface for decisions and tasks) */
300
+ sqlew?: boolean;
311
301
  }
312
302
  /**
313
303
  * Project configuration (v3.7.0+)
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}