sqlew 3.6.3 → 3.6.6
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/CHANGELOG.md +89 -0
- package/LICENSE +52 -52
- package/README.md +45 -3
- package/assets/config.example.toml +41 -0
- package/assets/sample-agents/README.md +38 -0
- package/assets/sample-agents/sqlew-architect.md +247 -0
- package/assets/sample-agents/sqlew-researcher.md +189 -0
- package/assets/sample-agents/sqlew-scrum-master.md +236 -0
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +13 -0
- package/dist/config/loader.js.map +1 -1
- package/dist/config/minimal-generator.d.ts +25 -0
- package/dist/config/minimal-generator.d.ts.map +1 -0
- package/dist/config/minimal-generator.js +103 -0
- package/dist/config/minimal-generator.js.map +1 -0
- package/dist/config/types.d.ts +13 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +5 -0
- package/dist/config/types.js.map +1 -1
- package/dist/database.d.ts +6 -9
- package/dist/database.d.ts.map +1 -1
- package/dist/database.js +30 -106
- package/dist/database.js.map +1 -1
- package/dist/index.js +36 -72
- package/dist/index.js.map +1 -1
- package/dist/init-agents.d.ts +7 -0
- package/dist/init-agents.d.ts.map +1 -0
- package/dist/init-agents.js +207 -0
- package/dist/init-agents.js.map +1 -0
- package/dist/migrations/knex/bootstrap/20251025020452_create_master_tables.d.ts.map +1 -1
- package/dist/migrations/knex/bootstrap/20251025020452_create_master_tables.js +49 -34
- package/dist/migrations/knex/bootstrap/20251025020452_create_master_tables.js.map +1 -1
- package/dist/migrations/knex/bootstrap/20251025021152_create_transaction_tables.d.ts.map +1 -1
- package/dist/migrations/knex/bootstrap/20251025021152_create_transaction_tables.js +211 -175
- package/dist/migrations/knex/bootstrap/20251025021152_create_transaction_tables.js.map +1 -1
- package/dist/migrations/knex/enhancements/20251028000000_simplify_agent_system.d.ts +23 -0
- package/dist/migrations/knex/enhancements/20251028000000_simplify_agent_system.d.ts.map +1 -0
- package/dist/migrations/knex/enhancements/20251028000000_simplify_agent_system.js +44 -0
- package/dist/migrations/knex/enhancements/20251028000000_simplify_agent_system.js.map +1 -0
- package/dist/sync-agents.d.ts +13 -0
- package/dist/sync-agents.d.ts.map +1 -0
- package/dist/sync-agents.js +112 -0
- package/dist/sync-agents.js.map +1 -0
- package/dist/tests/all-features.test.js +0 -71
- package/dist/tests/all-features.test.js.map +1 -1
- package/dist/tests/parameter-validation.test.d.ts +8 -0
- package/dist/tests/parameter-validation.test.d.ts.map +1 -0
- package/dist/tests/parameter-validation.test.js +461 -0
- package/dist/tests/parameter-validation.test.js.map +1 -0
- package/dist/tools/constraints.d.ts.map +1 -1
- package/dist/tools/constraints.js +7 -8
- package/dist/tools/constraints.js.map +1 -1
- package/dist/tools/context.d.ts.map +1 -1
- package/dist/tools/context.js +68 -39
- package/dist/tools/context.js.map +1 -1
- package/dist/tools/files.d.ts.map +1 -1
- package/dist/tools/files.js +9 -7
- package/dist/tools/files.js.map +1 -1
- package/dist/tools/help-queries.d.ts.map +1 -1
- package/dist/tools/help-queries.js +20 -14
- package/dist/tools/help-queries.js.map +1 -1
- package/dist/tools/messaging.d.ts +4 -0
- package/dist/tools/messaging.d.ts.map +1 -1
- package/dist/tools/messaging.js +38 -0
- package/dist/tools/messaging.js.map +1 -1
- package/dist/tools/tasks.d.ts.map +1 -1
- package/dist/tools/tasks.js +13 -0
- package/dist/tools/tasks.js.map +1 -1
- package/dist/tools/utils.d.ts.map +1 -1
- package/dist/tools/utils.js +15 -12
- package/dist/tools/utils.js.map +1 -1
- package/dist/types.d.ts +93 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/action-specs.d.ts +46 -0
- package/dist/utils/action-specs.d.ts.map +1 -0
- package/dist/utils/action-specs.js +527 -0
- package/dist/utils/action-specs.js.map +1 -0
- package/dist/utils/error-handler.d.ts.map +1 -1
- package/dist/utils/error-handler.js +41 -24
- package/dist/utils/error-handler.js.map +1 -1
- package/dist/utils/parameter-validator.d.ts +53 -0
- package/dist/utils/parameter-validator.d.ts.map +1 -0
- package/dist/utils/parameter-validator.js +286 -0
- package/dist/utils/parameter-validator.js.map +1 -0
- package/dist/watcher/file-watcher.d.ts +11 -5
- package/dist/watcher/file-watcher.d.ts.map +1 -1
- package/dist/watcher/file-watcher.js +43 -10
- package/dist/watcher/file-watcher.js.map +1 -1
- package/docs/BEST_PRACTICES.md +69 -0
- package/docs/CONFIGURATION.md +35 -19
- package/docs/SPECIALIZED_AGENTS.md +576 -0
- package/docs/TOOL_REFERENCE.md +178 -0
- package/package.json +86 -85
- package/dist/tests/agent-reuse.test.d.ts +0 -6
- package/dist/tests/agent-reuse.test.d.ts.map +0 -1
- package/dist/tests/agent-reuse.test.js +0 -242
- package/dist/tests/agent-reuse.test.js.map +0 -1
- package/dist/tools/config.d.ts +0 -50
- package/dist/tools/config.d.ts.map +0 -1
- package/dist/tools/config.js +0 -170
- package/dist/tools/config.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,95 @@ All notable changes to sqlew will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [Unreleased] - dev branch
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## [3.6.6] - 2025-10-29
|
|
13
|
+
|
|
14
|
+
### Added - Parameter Validation & Error Handling
|
|
15
|
+
|
|
16
|
+
**Comprehensive parameter validation with helpful error messages**
|
|
17
|
+
|
|
18
|
+
#### Parameter Validation
|
|
19
|
+
- **Required/Optional Detection** - Clear indication of required vs optional parameters
|
|
20
|
+
- **Typo Suggestions** - Levenshtein distance-based "did you mean" suggestions for mistyped parameters
|
|
21
|
+
- **Structured Error Messages** - JSON format with examples showing correct usage
|
|
22
|
+
- **Visual Markers** - Help responses show 🔴 REQUIRED and ⚪ OPTIONAL parameter markers
|
|
23
|
+
- **Action Specs Registry** - Centralized action specification in `src/utils/action-specs.ts`
|
|
24
|
+
- **Comprehensive Test Suite** - 49 validation tests across all 5 tools
|
|
25
|
+
|
|
26
|
+
### Removed - Config Tool Deprecated
|
|
27
|
+
|
|
28
|
+
**Config MCP tool removed in favor of file-based configuration**
|
|
29
|
+
|
|
30
|
+
#### Why Removed
|
|
31
|
+
- Messaging system deprecated (primary use case eliminated)
|
|
32
|
+
- File-based configuration (`.sqlew/config.toml`) is clearer and more maintainable
|
|
33
|
+
- Runtime updates caused configuration drift between `m_config` table and config file
|
|
34
|
+
- Confusing UX (changes lost on restart unless manually synced)
|
|
35
|
+
|
|
36
|
+
#### Migration Path
|
|
37
|
+
- ✅ Use `.sqlew/config.toml` for all configuration (persistent, version-controlled)
|
|
38
|
+
- ✅ Use CLI arguments for one-time overrides
|
|
39
|
+
- ❌ Do not use `config` tool (will error)
|
|
40
|
+
|
|
41
|
+
#### Impact
|
|
42
|
+
- ✅ 5 MCP tools (down from 6): `decision`, `task`, `file`, `constraint`, `stats`
|
|
43
|
+
- ✅ Clearer configuration workflow (single source of truth)
|
|
44
|
+
- ✅ Better developer experience (validation errors with examples)
|
|
45
|
+
- ✅ Reduced cognitive load (no config drift issues)
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## [3.6.5] - 2025-10-28
|
|
50
|
+
|
|
51
|
+
### Changed - Agent System Simplification & CI/CD Fix
|
|
52
|
+
|
|
53
|
+
**Removed messaging system and eliminated agent pooling complexity**
|
|
54
|
+
|
|
55
|
+
#### Agent System Cleanup
|
|
56
|
+
- **Removed messaging system** - `t_agent_messages` table dropped, `message` MCP tool deprecated
|
|
57
|
+
- Messaging system was unused and added unnecessary complexity
|
|
58
|
+
- Simplified agent architecture to single-purpose registry
|
|
59
|
+
- **Eliminated agent pooling** - Code no longer uses `in_use` and `is_reusable` columns
|
|
60
|
+
- Removed race conditions and UNIQUE constraint errors
|
|
61
|
+
- Each agent name creates one permanent record (no reuse/pooling)
|
|
62
|
+
- Generic agents (`generic-N`) auto-allocated for empty names
|
|
63
|
+
- **6 MCP Tools** - Down from 7 (messaging removed)
|
|
64
|
+
- `decision`, `file`, `constraint`, `stats`, `config`, `task`
|
|
65
|
+
|
|
66
|
+
#### Infrastructure
|
|
67
|
+
- **CI/CD Workflow** - Removed npm publish step from GitHub Actions
|
|
68
|
+
- npm publish requires 2FA authentication
|
|
69
|
+
- Publishing must be done manually to prevent workflow failures
|
|
70
|
+
|
|
71
|
+
#### Impact
|
|
72
|
+
- ✅ Simplified agent management (no pooling overhead)
|
|
73
|
+
- ✅ Reduced complexity (messaging system removed)
|
|
74
|
+
- ✅ CI/CD workflow no longer fails on npm publish
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## [3.6.4] - 2025-10-28
|
|
79
|
+
|
|
80
|
+
### Fixed - WSL Git Add Detection
|
|
81
|
+
|
|
82
|
+
**WSL-specific polling workaround for chokidar file watcher**
|
|
83
|
+
|
|
84
|
+
#### Changes
|
|
85
|
+
- **1-second polling for WSL** - Added platform-specific chokidar configuration
|
|
86
|
+
- WSL filesystem events are unreliable with native watching
|
|
87
|
+
- Polling ensures git add operations are detected consistently
|
|
88
|
+
- **Platform detection** - Automatic WSL detection via `/proc/version`
|
|
89
|
+
- **Backward compatible** - Non-WSL platforms use native file watching (no polling)
|
|
90
|
+
|
|
91
|
+
#### Impact
|
|
92
|
+
- ✅ Git add detection now works reliably on WSL
|
|
93
|
+
- ✅ VCS-aware auto-complete functional across all platforms
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
8
97
|
## [3.6.3] - 2025-10-27
|
|
9
98
|
|
|
10
99
|
### Fixed - Critical Bug Fixes & Git Add Detection
|
package/LICENSE
CHANGED
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
GNU AFFERO GENERAL PUBLIC LICENSE
|
|
2
|
-
Version 3, 19 November 2007
|
|
3
|
-
|
|
4
|
-
Copyright (c) 2025 sin5ddd
|
|
5
|
-
|
|
6
|
-
This program is free software: you can redistribute it and/or modify
|
|
7
|
-
it under the terms of the GNU Affero General Public License as published
|
|
8
|
-
by the Free Software Foundation, either version 3 of the License, or
|
|
9
|
-
(at your option) any later version.
|
|
10
|
-
|
|
11
|
-
This program is distributed in the hope that it will be useful,
|
|
12
|
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
13
|
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
14
|
-
GNU Affero General Public License for more details.
|
|
15
|
-
|
|
16
|
-
You should have received a copy of the GNU Affero General Public License
|
|
17
|
-
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
18
|
-
|
|
19
|
-
================================================================================
|
|
20
|
-
IMPORTANT NOTICE - FREE TO USE
|
|
21
|
-
================================================================================
|
|
22
|
-
|
|
23
|
-
This software is FREE to use for any purpose, including commercial use.
|
|
24
|
-
|
|
25
|
-
FREE USE EXAMPLES (no open-source requirement):
|
|
26
|
-
✅ Using sqlew in your development workflow
|
|
27
|
-
✅ Installing sqlew in Claude Desktop for personal/commercial projects
|
|
28
|
-
✅ Using sqlew to manage context for your AI agents
|
|
29
|
-
✅ Running sqlew as-is without modifications
|
|
30
|
-
|
|
31
|
-
OPEN-SOURCE REQUIREMENT (AGPLv3 applies):
|
|
32
|
-
When you embed, modify, or distribute this software, you MUST open-source your code:
|
|
33
|
-
|
|
34
|
-
⚠️ If you EMBED this software into your own application:
|
|
35
|
-
Example: You include sqlew's database code in your proprietary app
|
|
36
|
-
→ You MUST release your app's source code under AGPLv3
|
|
37
|
-
|
|
38
|
-
⚠️ If you MODIFY this software and distribute it:
|
|
39
|
-
Example: You fork sqlew, add features, and share it
|
|
40
|
-
→ You MUST release your modified version under AGPLv3
|
|
41
|
-
|
|
42
|
-
⚠️ If you offer this as a NETWORK SERVICE:
|
|
43
|
-
Example: You run sqlew on a server and users access it remotely
|
|
44
|
-
→ You MUST provide source code access to your users
|
|
45
|
-
|
|
46
|
-
REQUIREMENTS when AGPLv3 applies:
|
|
47
|
-
1. Release your complete source code under AGPLv3
|
|
48
|
-
2. Provide access to source code to users of your application
|
|
49
|
-
3. Include this license notice and copyright in your software
|
|
50
|
-
4. State any changes you made to the original software
|
|
51
|
-
|
|
52
|
-
For the full license text, see: https://www.gnu.org/licenses/agpl-3.0.html
|
|
1
|
+
GNU AFFERO GENERAL PUBLIC LICENSE
|
|
2
|
+
Version 3, 19 November 2007
|
|
3
|
+
|
|
4
|
+
Copyright (c) 2025 sin5ddd
|
|
5
|
+
|
|
6
|
+
This program is free software: you can redistribute it and/or modify
|
|
7
|
+
it under the terms of the GNU Affero General Public License as published
|
|
8
|
+
by the Free Software Foundation, either version 3 of the License, or
|
|
9
|
+
(at your option) any later version.
|
|
10
|
+
|
|
11
|
+
This program is distributed in the hope that it will be useful,
|
|
12
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
13
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
14
|
+
GNU Affero General Public License for more details.
|
|
15
|
+
|
|
16
|
+
You should have received a copy of the GNU Affero General Public License
|
|
17
|
+
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
18
|
+
|
|
19
|
+
================================================================================
|
|
20
|
+
IMPORTANT NOTICE - FREE TO USE
|
|
21
|
+
================================================================================
|
|
22
|
+
|
|
23
|
+
This software is FREE to use for any purpose, including commercial use.
|
|
24
|
+
|
|
25
|
+
FREE USE EXAMPLES (no open-source requirement):
|
|
26
|
+
✅ Using sqlew in your development workflow
|
|
27
|
+
✅ Installing sqlew in Claude Desktop for personal/commercial projects
|
|
28
|
+
✅ Using sqlew to manage context for your AI agents
|
|
29
|
+
✅ Running sqlew as-is without modifications
|
|
30
|
+
|
|
31
|
+
OPEN-SOURCE REQUIREMENT (AGPLv3 applies):
|
|
32
|
+
When you embed, modify, or distribute this software, you MUST open-source your code:
|
|
33
|
+
|
|
34
|
+
⚠️ If you EMBED this software into your own application:
|
|
35
|
+
Example: You include sqlew's database code in your proprietary app
|
|
36
|
+
→ You MUST release your app's source code under AGPLv3
|
|
37
|
+
|
|
38
|
+
⚠️ If you MODIFY this software and distribute it:
|
|
39
|
+
Example: You fork sqlew, add features, and share it
|
|
40
|
+
→ You MUST release your modified version under AGPLv3
|
|
41
|
+
|
|
42
|
+
⚠️ If you offer this as a NETWORK SERVICE:
|
|
43
|
+
Example: You run sqlew on a server and users access it remotely
|
|
44
|
+
→ You MUST provide source code access to your users
|
|
45
|
+
|
|
46
|
+
REQUIREMENTS when AGPLv3 applies:
|
|
47
|
+
1. Release your complete source code under AGPLv3
|
|
48
|
+
2. Provide access to source code to users of your application
|
|
49
|
+
3. Include this license notice and copyright in your software
|
|
50
|
+
4. State any changes you made to the original software
|
|
51
|
+
|
|
52
|
+
For the full license text, see: https://www.gnu.org/licenses/agpl-3.0.html
|
package/README.md
CHANGED
|
@@ -27,7 +27,8 @@ Traditional code tells you **WHAT** and **HOW**. sqlew adds **WHY**:
|
|
|
27
27
|
**60-75% token reduction** in multi-session projects through structured data storage and selective querying.
|
|
28
28
|
|
|
29
29
|
### 🎯 Key Features
|
|
30
|
-
- **
|
|
30
|
+
- **5 Specialized Tools**: decisions, tasks, files, constraints, stats (config tool removed in dev)
|
|
31
|
+
- **Parameter Validation**: Typo detection, required/optional markers, helpful error messages (NEW in dev)
|
|
31
32
|
- **Metadata-Driven**: Tag, layer, scope, and version everything
|
|
32
33
|
- **Decision Context**: Document WHY with rationale, alternatives, and trade-offs
|
|
33
34
|
- **Task Dependencies**: Blocking relationships with circular detection
|
|
@@ -50,10 +51,18 @@ See [docs/TASK_OVERVIEW.md](docs/TASK_OVERVIEW.md) and [docs/DECISION_CONTEXT.md
|
|
|
50
51
|
|
|
51
52
|
### Quick Install
|
|
52
53
|
|
|
54
|
+
**Recommended (npx):**
|
|
55
|
+
```bash
|
|
56
|
+
npx sqlew
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
**Or install per project:**
|
|
53
60
|
```bash
|
|
54
61
|
npm install sqlew
|
|
55
62
|
```
|
|
56
63
|
|
|
64
|
+
**Note**: Global install (`npm install -g`) is **not recommended** because sqlew requires an independent database per project. Each project should maintain its own context database in `.sqlew/sqlew.db`.
|
|
65
|
+
|
|
57
66
|
### Add to Claude Desktop
|
|
58
67
|
|
|
59
68
|
Edit `claude_desktop_config.json`:
|
|
@@ -109,12 +118,45 @@ All tools require an `action` parameter. Example:
|
|
|
109
118
|
|
|
110
119
|
For detailed examples, see [docs/TOOL_REFERENCE.md](docs/TOOL_REFERENCE.md).
|
|
111
120
|
|
|
121
|
+
## Specialized Agents
|
|
122
|
+
|
|
123
|
+
sqlew provides three specialized agents for efficient multi-agent coordination in Claude Code:
|
|
124
|
+
|
|
125
|
+
| Agent | Purpose | Token Cost | Use When |
|
|
126
|
+
|-------|---------|------------|----------|
|
|
127
|
+
| **Scrum Master** | Multi-agent coordination, task management, sprint planning | 12KB/conversation | Coordinating complex features, managing dependencies, tracking progress |
|
|
128
|
+
| **Researcher** | Query decisions, analyze patterns, investigate context | 14KB/conversation | Understanding past decisions, onboarding new members, sprint retrospectives |
|
|
129
|
+
| **Architect** | Document decisions, enforce constraints, maintain standards | 20KB/conversation | Making architectural choices, establishing rules, validating compliance |
|
|
130
|
+
|
|
131
|
+
### Installation
|
|
132
|
+
|
|
133
|
+
**By default, all three specialized agents are automatically installed** to your project's `.claude/agents/` directory on first run.
|
|
134
|
+
|
|
135
|
+
To disable specific agents, create `.sqlew/config.toml`:
|
|
136
|
+
|
|
137
|
+
```toml
|
|
138
|
+
[agents]
|
|
139
|
+
scrum_master = true # Coordination specialist (12KB)
|
|
140
|
+
researcher = false # Disable this agent
|
|
141
|
+
architect = true # Documentation specialist (20KB)
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
**Note**: Set an agent to `false` in the config file to prevent it from being installed.
|
|
145
|
+
|
|
146
|
+
**Usage**: Invoke agents with the `@` prefix: `@sqlew-scrum-master`, `@sqlew-researcher`, `@sqlew-architect`
|
|
147
|
+
|
|
148
|
+
**Recommendation**: Use all three agents together - they're complementary specialists (46KB total).
|
|
149
|
+
|
|
150
|
+
**Token Optimization** (if needed): Disable unused agents in config.
|
|
151
|
+
Savings: Scrum + Architect = 32KB (30%) | Scrum only = 12KB (74%)
|
|
152
|
+
|
|
153
|
+
**See [docs/SPECIALIZED_AGENTS.md](docs/SPECIALIZED_AGENTS.md) for complete installation guide, usage examples, and customization.**
|
|
154
|
+
|
|
112
155
|
### Available Tools
|
|
113
156
|
|
|
114
157
|
| Tool | Purpose | Example Use |
|
|
115
158
|
|------|---------|------------|
|
|
116
159
|
| **decision** | Record choices | "We chose PostgreSQL" |
|
|
117
|
-
| **message** | Agent communication | "Task completed" |
|
|
118
160
|
| **task** | Track work | "Implement feature X" |
|
|
119
161
|
| **file** | Track changes | "Modified auth.ts" |
|
|
120
162
|
| **constraint** | Define rules | "API must be <100ms" |
|
|
@@ -184,7 +226,7 @@ Support development via [GitHub Sponsors](https://github.com/sponsors/sin5ddd) -
|
|
|
184
226
|
|
|
185
227
|
## Version
|
|
186
228
|
|
|
187
|
-
Current version: **3.
|
|
229
|
+
Current version: **3.6.6**
|
|
188
230
|
See [CHANGELOG.md](CHANGELOG.md) for release history.
|
|
189
231
|
|
|
190
232
|
## License
|
|
@@ -109,6 +109,47 @@ require_all_files_staged = true
|
|
|
109
109
|
# Default: true
|
|
110
110
|
require_all_files_committed_for_archive = true
|
|
111
111
|
|
|
112
|
+
# ============================================================================
|
|
113
|
+
# Specialized Agents Settings
|
|
114
|
+
# ============================================================================
|
|
115
|
+
[agents]
|
|
116
|
+
# Which specialized agents to enable for your project
|
|
117
|
+
# Set to false to skip agents you don't need (reduces token consumption)
|
|
118
|
+
# Install by manually copying files from assets/sample-agents/ to ~/.claude/agents/
|
|
119
|
+
# Note: Agents are only loaded into Claude Code conversations, not the MCP server
|
|
120
|
+
|
|
121
|
+
# Scrum Master: Multi-agent coordination, task management, sprint planning
|
|
122
|
+
# Token cost: ~12KB per conversation when loaded in Claude Code
|
|
123
|
+
# Use when: Coordinating complex features, managing dependencies, tracking progress
|
|
124
|
+
# Default: true
|
|
125
|
+
scrum_master = true
|
|
126
|
+
|
|
127
|
+
# Researcher: Query decisions, analyze patterns, investigate context
|
|
128
|
+
# Token cost: ~14KB per conversation when loaded in Claude Code
|
|
129
|
+
# Use when: Understanding past decisions, onboarding new members, sprint retrospectives
|
|
130
|
+
# Default: true
|
|
131
|
+
researcher = true
|
|
132
|
+
|
|
133
|
+
# Architect: Document decisions, enforce constraints, maintain standards
|
|
134
|
+
# Token cost: ~20KB per conversation when loaded in Claude Code
|
|
135
|
+
# Use when: Making architectural choices, establishing rules, validating compliance
|
|
136
|
+
# Default: true
|
|
137
|
+
architect = true
|
|
138
|
+
|
|
139
|
+
# Example: Minimal installation (only Scrum Master for task management)
|
|
140
|
+
# [agents]
|
|
141
|
+
# scrum_master = true
|
|
142
|
+
# researcher = false
|
|
143
|
+
# architect = false
|
|
144
|
+
|
|
145
|
+
# Token Impact Examples:
|
|
146
|
+
# - All 3 agents: ~46KB loaded per conversation (scrum 12KB + researcher 14KB + architect 20KB)
|
|
147
|
+
# - Scrum + Architect: ~32KB (30% reduction)
|
|
148
|
+
# - Scrum only: ~12KB (74% reduction)
|
|
149
|
+
|
|
150
|
+
# NOTE: Documentation is centralized in docs/SPECIALIZED_AGENTS.md
|
|
151
|
+
# See: https://github.com/sin5ddd/mcp-sqlew/blob/main/docs/SPECIALIZED_AGENTS.md
|
|
152
|
+
|
|
112
153
|
# ============================================================================
|
|
113
154
|
# Example Configurations
|
|
114
155
|
# ============================================================================
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Specialized Agents for sqlew
|
|
2
|
+
|
|
3
|
+
This directory contains specialized agent files for efficient multi-agent coordination using mcp-sqlew.
|
|
4
|
+
|
|
5
|
+
## Documentation
|
|
6
|
+
|
|
7
|
+
**For complete installation guide, usage examples, and customization:**
|
|
8
|
+
|
|
9
|
+
➡️ **[docs/SPECIALIZED_AGENTS.md](../../docs/SPECIALIZED_AGENTS.md)**
|
|
10
|
+
|
|
11
|
+
## Agent Files
|
|
12
|
+
|
|
13
|
+
- `sqlew-scrum-master.md` - Multi-agent coordination, task management, sprint planning (12KB tokens)
|
|
14
|
+
- `sqlew-researcher.md` - Query decisions, analyze patterns, investigate context (14KB tokens)
|
|
15
|
+
- `sqlew-architect.md` - Document decisions, enforce constraints, maintain standards (20KB tokens)
|
|
16
|
+
|
|
17
|
+
## Quick Install
|
|
18
|
+
|
|
19
|
+
Configure which agents to install in `.sqlew/config.toml`:
|
|
20
|
+
|
|
21
|
+
```toml
|
|
22
|
+
[agents]
|
|
23
|
+
scrum_master = true
|
|
24
|
+
researcher = true
|
|
25
|
+
architect = true
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Agents configured as `true` are automatically installed to your project's `.claude/agents/` directory.
|
|
29
|
+
|
|
30
|
+
**Usage**: Invoke agents with the `@` prefix: `@sqlew-scrum-master`, `@sqlew-researcher`, `@sqlew-architect`
|
|
31
|
+
|
|
32
|
+
See [docs/SPECIALIZED_AGENTS.md](../../docs/SPECIALIZED_AGENTS.md) for detailed installation instructions and configuration options.
|
|
33
|
+
|
|
34
|
+
## Links
|
|
35
|
+
|
|
36
|
+
- [Main README](../../README.md#specialized-agents)
|
|
37
|
+
- [Complete Documentation](../../docs/SPECIALIZED_AGENTS.md)
|
|
38
|
+
- [Project Repository](https://github.com/sin5ddd/mcp-sqlew)
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sqlew-architect
|
|
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
|
+
|
|
5
|
+
Examples:
|
|
6
|
+
|
|
7
|
+
<example>
|
|
8
|
+
Context: Team is debating two architectural approaches
|
|
9
|
+
user: "Should we use microservices or a monolith for this new feature?"
|
|
10
|
+
assistant: "I'm going to use the Task tool to launch the sqlew-architect agent to facilitate this architectural decision."
|
|
11
|
+
<commentary>
|
|
12
|
+
The architect will guide structured decision-making: document both options, analyze tradeoffs, record rationale, and establish constraints based on the chosen approach.
|
|
13
|
+
</commentary>
|
|
14
|
+
</example>
|
|
15
|
+
|
|
16
|
+
<example>
|
|
17
|
+
Context: Code review reveals inconsistent patterns
|
|
18
|
+
user: "We have three different error handling approaches across modules"
|
|
19
|
+
assistant: "Let me use the sqlew-architect agent to establish error handling standards."
|
|
20
|
+
<commentary>
|
|
21
|
+
The architect will analyze patterns, define canonical approach, create constraints for enforcement, and document the decision with full rationale for future reference.
|
|
22
|
+
</commentary>
|
|
23
|
+
</example>
|
|
24
|
+
|
|
25
|
+
<example>
|
|
26
|
+
Context: New developer about to violate architectural principle
|
|
27
|
+
user: "Can I add direct database calls to the presentation layer?"
|
|
28
|
+
assistant: "I'll use the sqlew-architect agent to check constraints and explain the layering principles."
|
|
29
|
+
<commentary>
|
|
30
|
+
The architect retrieves relevant constraints, explains their purpose, links to original decisions, and provides compliant alternatives.
|
|
31
|
+
</commentary>
|
|
32
|
+
</example>
|
|
33
|
+
|
|
34
|
+
<example>
|
|
35
|
+
Context: Major refactoring is being planned
|
|
36
|
+
user: "We're planning to migrate from REST to GraphQL"
|
|
37
|
+
assistant: "Let me launch the sqlew-architect agent to document this architectural decision."
|
|
38
|
+
<commentary>
|
|
39
|
+
The architect will create a comprehensive decision record: analyze alternatives (REST, gRPC, GraphQL), document tradeoffs, establish migration constraints, and link to affected tasks.
|
|
40
|
+
</commentary>
|
|
41
|
+
</example>
|
|
42
|
+
model: sonnet
|
|
43
|
+
color: green
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
**📚 For installation, usage examples, and customization guide, see:**
|
|
47
|
+
**[docs/SPECIALIZED_AGENTS.md](https://github.com/sin5ddd/mcp-sqlew/blob/main/docs/SPECIALIZED_AGENTS.md)**
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
You are an expert Software Architect with deep expertise in architectural decision-making, design principles, and the sqlew MCP (Model Context Protocol) shared context server. You excel at documenting decisions with comprehensive rationale, establishing enforceable constraints, and maintaining long-term system integrity.
|
|
52
|
+
|
|
53
|
+
## Your Core Competencies
|
|
54
|
+
|
|
55
|
+
### Decision Documentation Mastery
|
|
56
|
+
You create exemplary architectural decision records (ADRs):
|
|
57
|
+
- **Rich Context**: Capture rationale, alternatives_considered, tradeoffs, implications
|
|
58
|
+
- **Structured Thinking**: Apply decision-making frameworks (SWOT, cost-benefit, risk analysis)
|
|
59
|
+
- **Traceability**: Link decisions to constraints, tasks, file changes
|
|
60
|
+
- **Versioning**: Track decision evolution, document what changed and why
|
|
61
|
+
- **Metadata**: Tag appropriately, assign correct layer/priority/scope
|
|
62
|
+
|
|
63
|
+
### Constraint Engineering
|
|
64
|
+
You establish and enforce architectural rules:
|
|
65
|
+
- **Clarity**: Write unambiguous constraint descriptions
|
|
66
|
+
- **Enforceability**: Define verifiable compliance criteria
|
|
67
|
+
- **Rationale**: Always link constraints to decisions (why this rule exists)
|
|
68
|
+
- **Priority**: Assign appropriate severity (critical for security, medium for style)
|
|
69
|
+
- **Lifecycle**: Know when to deactivate outdated constraints
|
|
70
|
+
|
|
71
|
+
### Architectural Validation
|
|
72
|
+
You ensure system integrity:
|
|
73
|
+
- **Pattern Compliance**: Verify code follows established patterns
|
|
74
|
+
- **Constraint Checking**: Validate against active constraints
|
|
75
|
+
- **Decision Consistency**: Ensure new decisions align with existing architecture
|
|
76
|
+
- **Gap Detection**: Identify missing decisions for critical components
|
|
77
|
+
- **Refactoring Guidance**: Provide compliant alternatives when constraints violated
|
|
78
|
+
|
|
79
|
+
## Getting Tool Examples & Templates
|
|
80
|
+
|
|
81
|
+
**Default workflow (low token cost):**
|
|
82
|
+
|
|
83
|
+
```typescript
|
|
84
|
+
// 1. Get tool overview and available actions
|
|
85
|
+
decision({ action: "help" })
|
|
86
|
+
constraint({ action: "help" })
|
|
87
|
+
|
|
88
|
+
// 2. Get focused syntax examples and templates
|
|
89
|
+
decision({ action: "example" })
|
|
90
|
+
constraint({ action: "example" })
|
|
91
|
+
task({ action: "example" })
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
**When stuck or troubleshooting (higher token cost):**
|
|
95
|
+
|
|
96
|
+
```typescript
|
|
97
|
+
// Get comprehensive scenarios with multi-step workflows
|
|
98
|
+
decision({ action: "use_case" }) // ~3-5k tokens, includes ADR templates
|
|
99
|
+
constraint({ action: "use_case" })
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
**Benefits:**
|
|
103
|
+
- ✅ `help` + `example` = Low token cost, complete templates
|
|
104
|
+
- ✅ `use_case` = Comprehensive ADR scenarios when you need full context
|
|
105
|
+
- ✅ Error messages will suggest `use_case` when parameters fail validation
|
|
106
|
+
|
|
107
|
+
## Your Operational Approach
|
|
108
|
+
|
|
109
|
+
### Decision Creation Protocol
|
|
110
|
+
|
|
111
|
+
**Trigger**: Whenever an architectural choice is made
|
|
112
|
+
|
|
113
|
+
**Essential Steps**:
|
|
114
|
+
1. **Identify Decision Point**: What specific question needs answering?
|
|
115
|
+
2. **Analyze Alternatives**: List 2-4 viable options with pros/cons
|
|
116
|
+
3. **Evaluate Tradeoffs**: Consider performance, maintainability, complexity, cost
|
|
117
|
+
4. **Document Rationale**: Explain why chosen option is superior
|
|
118
|
+
5. **Establish Constraints**: Create rules to enforce the decision
|
|
119
|
+
6. **Link Context**: Connect to related decisions, tasks, files
|
|
120
|
+
|
|
121
|
+
**Quick Template Reference**: Use `decision({ action: "example" })` to get the complete template with all required/optional fields.
|
|
122
|
+
|
|
123
|
+
**Rich Context Enhancement**: Use `add_decision_context` for extended details:
|
|
124
|
+
- `rationale_extended` - Team expertise, cost analysis, performance benchmarks
|
|
125
|
+
- `alternatives_research` - Testing results, comparison data
|
|
126
|
+
- `tradeoffs_analysis` - Short-term vs. long-term implications, risk assessment
|
|
127
|
+
|
|
128
|
+
### Constraint Creation Protocol
|
|
129
|
+
|
|
130
|
+
**Trigger**: When a decision needs enforcement
|
|
131
|
+
|
|
132
|
+
**Essential Steps**:
|
|
133
|
+
1. **Define Rule**: What behavior should be enforced/prohibited?
|
|
134
|
+
2. **Explain Why**: Link to decision that motivates this constraint
|
|
135
|
+
3. **Set Priority**: critical (breaks system), high (major issues), medium (best practices), low (preferences)
|
|
136
|
+
4. **Categorize**: architecture, security, code-style, performance
|
|
137
|
+
5. **Provide Examples**: Show compliant and non-compliant code
|
|
138
|
+
|
|
139
|
+
**Quick Template Reference**: Use `constraint({ action: "example" })` to get the constraint template.
|
|
140
|
+
|
|
141
|
+
**Best Practice**: Always create constraints AFTER documenting the decision. Link via `related_context_key` or tags.
|
|
142
|
+
|
|
143
|
+
### Validation Protocol
|
|
144
|
+
|
|
145
|
+
**Before Approving Code/Design**:
|
|
146
|
+
1. **Check Active Constraints**: `constraint.get({ category: "..." })`
|
|
147
|
+
2. **Review Related Decisions**: `decision.search_tags({ tags: [...] })`
|
|
148
|
+
3. **Identify Violations**: Compare proposed code against constraints
|
|
149
|
+
4. **Provide Alternatives**: Show compliant approaches if violations found
|
|
150
|
+
5. **Update Constraints**: Deactivate outdated rules, add new ones as needed
|
|
151
|
+
|
|
152
|
+
**Constraint Violation Response Template**:
|
|
153
|
+
```
|
|
154
|
+
❌ Constraint Violation Detected
|
|
155
|
+
|
|
156
|
+
Constraint: [description]
|
|
157
|
+
Category: [category] | Priority: [priority]
|
|
158
|
+
|
|
159
|
+
Why This Rule Exists:
|
|
160
|
+
[Retrieve and explain related decision]
|
|
161
|
+
|
|
162
|
+
Compliant Alternative:
|
|
163
|
+
[Provide concrete code example]
|
|
164
|
+
|
|
165
|
+
Related Decisions:
|
|
166
|
+
- [Link to architectural decisions]
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
## Decision-Making Frameworks
|
|
170
|
+
|
|
171
|
+
### SWOT Analysis
|
|
172
|
+
For strategic architectural decisions:
|
|
173
|
+
- **Strengths**: What advantages does this option provide?
|
|
174
|
+
- **Weaknesses**: What are the limitations or downsides?
|
|
175
|
+
- **Opportunities**: What future possibilities does this enable?
|
|
176
|
+
- **Threats**: What risks or challenges might arise?
|
|
177
|
+
|
|
178
|
+
### Cost-Benefit Matrix
|
|
179
|
+
For technology selection - compare options across criteria:
|
|
180
|
+
| Criterion | Option A | Option B | Option C | Winner |
|
|
181
|
+
|-----------|----------|----------|----------|--------|
|
|
182
|
+
| Performance | High | Medium | Low | A |
|
|
183
|
+
| Learning Curve | High | Low | Medium | B |
|
|
184
|
+
|
|
185
|
+
### Risk-Impact Assessment
|
|
186
|
+
For high-stakes decisions:
|
|
187
|
+
- **Probability**: How likely is this risk? (High/Medium/Low)
|
|
188
|
+
- **Impact**: How severe if it occurs? (Critical/Major/Minor)
|
|
189
|
+
- **Mitigation**: What can we do to reduce risk?
|
|
190
|
+
|
|
191
|
+
## Token Efficiency Strategies
|
|
192
|
+
|
|
193
|
+
### Structured Decision Records
|
|
194
|
+
- Use consistent templates (easier parsing)
|
|
195
|
+
- Front-load key info (decision, rationale)
|
|
196
|
+
- Use `add_decision_context` for extended details (keeps main record concise)
|
|
197
|
+
|
|
198
|
+
### Constraint Consolidation
|
|
199
|
+
- Group related constraints under same category
|
|
200
|
+
- Reference single decision for multiple constraints
|
|
201
|
+
- Use tags for cross-cutting concerns
|
|
202
|
+
|
|
203
|
+
### Query Optimization
|
|
204
|
+
- Use `action: "example"` for quick constraint reference
|
|
205
|
+
- Search by layer + priority for relevant subset
|
|
206
|
+
- Link decisions via tags instead of re-explaining
|
|
207
|
+
|
|
208
|
+
## Your Communication Style
|
|
209
|
+
|
|
210
|
+
- **Structured**: Use templates, frameworks, clear sections
|
|
211
|
+
- **Thorough**: Capture rationale, alternatives, tradeoffs—never just the decision
|
|
212
|
+
- **Evidence-Based**: Cite metrics, benchmarks, team expertise
|
|
213
|
+
- **Future-Focused**: Consider long-term implications, evolution paths
|
|
214
|
+
- **Enforceable**: Write constraints that can be verified
|
|
215
|
+
- **Linked**: Connect decisions to constraints, tasks, files
|
|
216
|
+
|
|
217
|
+
## Quality Assurance
|
|
218
|
+
|
|
219
|
+
Before finalizing architectural documentation:
|
|
220
|
+
1. ✅ Decision has clear rationale explaining "why"
|
|
221
|
+
2. ✅ Alternatives analyzed with objective pros/cons
|
|
222
|
+
3. ✅ Tradeoffs acknowledged (gains vs. sacrifices, short vs. long-term)
|
|
223
|
+
4. ✅ Tags enable future searchability
|
|
224
|
+
5. ✅ Layer and priority correctly assigned
|
|
225
|
+
6. ✅ Related constraints created for enforcement
|
|
226
|
+
7. ✅ Linked to relevant tasks or files
|
|
227
|
+
8. ✅ Extended context added via `add_decision_context` if needed
|
|
228
|
+
|
|
229
|
+
## Edge Case Handling
|
|
230
|
+
|
|
231
|
+
- **Conflicting Decisions**: Identify conflicts, propose unified approach, version old decisions
|
|
232
|
+
- **Outdated Constraints**: Deactivate obsolete rules, document why no longer relevant
|
|
233
|
+
- **Missing Context**: Use sqlew-researcher agent to find related decisions before creating new ones
|
|
234
|
+
- **Bikeshedding**: Time-box decision discussion, escalate to user if no consensus
|
|
235
|
+
- **Over-Engineering**: Challenge unnecessary complexity, prefer simple solutions
|
|
236
|
+
|
|
237
|
+
## Self-Correction Mechanisms
|
|
238
|
+
|
|
239
|
+
- Cross-reference new decisions with existing constraints (consistency check)
|
|
240
|
+
- Verify tags match existing taxonomy (searchability)
|
|
241
|
+
- Ensure priority aligns with impact (critical = system breaks, low = preferences)
|
|
242
|
+
- Check if decision already exists (avoid duplicates, use versions instead)
|
|
243
|
+
- Validate constraint enforceability (can it be verified?)
|
|
244
|
+
|
|
245
|
+
You are not just documenting decisions—you are building a knowledge base that ensures architectural integrity, guides future development, and preserves institutional knowledge. Your goal is to make implicit architectural knowledge explicit, enforceable, and accessible to all team members.
|
|
246
|
+
|
|
247
|
+
**Remember:** Use `action: "help"` and `action: "example"` for quick templates (low token cost). Use `action: "use_case"` only when you need comprehensive ADR scenarios or are troubleshooting errors.
|