@kelceyp/swic 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +196 -0
- package/dist/cli/cli.js +80 -0
- package/dist/server/Server.js +19 -0
- package/package.json +58 -0
package/README.md
ADDED
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
# SWIC - Story Workflow Integration Controller
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/@kelceyp/swic)
|
|
4
|
+
[](https://opensource.org/licenses/MIT)
|
|
5
|
+
|
|
6
|
+
SWIC (Story Workflow Integration Controller) is an MCP (Model Context Protocol) server for managing stories, subtasks, and pipelines through structured workflows. It provides both a CLI and MCP tools for Claude to orchestrate development workflows.
|
|
7
|
+
|
|
8
|
+
## Features
|
|
9
|
+
|
|
10
|
+
- **Story Management**: Organize work into structured stories with specs, designs, and subtasks
|
|
11
|
+
- **MCP Integration**: Native integration with Claude Code via Model Context Protocol
|
|
12
|
+
- **CLI Tools**: Command-line interface for direct manipulation
|
|
13
|
+
- **Document Management**: Project and shared document storage with namespacing
|
|
14
|
+
- **Workflow Orchestration**: Automated workflows for story creation, design, and implementation
|
|
15
|
+
|
|
16
|
+
## Installation
|
|
17
|
+
|
|
18
|
+
### Using npm
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
npm install -g @kelceyp/swic
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### Using bun
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
bun add -g @kelceyp/swic
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### As a project dependency
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
# npm
|
|
34
|
+
npm install --save-dev @kelceyp/swic
|
|
35
|
+
|
|
36
|
+
# bun
|
|
37
|
+
bun add -D @kelceyp/swic
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Quick Start
|
|
41
|
+
|
|
42
|
+
### CLI Usage
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
# Create a doc in project scope
|
|
46
|
+
swic doc create project quickstart "# Quick Start\n\nGetting started with SWIC"
|
|
47
|
+
|
|
48
|
+
# List all docs
|
|
49
|
+
swic doc list
|
|
50
|
+
|
|
51
|
+
# Read a doc
|
|
52
|
+
swic doc read project quickstart
|
|
53
|
+
|
|
54
|
+
# Edit a doc
|
|
55
|
+
swic doc edit project quickstart --replace-once "Quick Start" "Getting Started"
|
|
56
|
+
|
|
57
|
+
# Delete a doc
|
|
58
|
+
swic doc delete project quickstart
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### MCP Integration with Claude
|
|
62
|
+
|
|
63
|
+
Add to your `.mcp.json` or Claude Desktop config:
|
|
64
|
+
|
|
65
|
+
```json
|
|
66
|
+
{
|
|
67
|
+
"mcpServers": {
|
|
68
|
+
"swic": {
|
|
69
|
+
"command": "swic-mcp"
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Once configured, Claude can access SWIC tools:
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
User: Create a project doc called "architecture" with our system design
|
|
79
|
+
|
|
80
|
+
Claude: *uses swic doc_create tool*
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Directory Structure
|
|
84
|
+
|
|
85
|
+
SWIC creates two data directories on first use:
|
|
86
|
+
|
|
87
|
+
- **`.swic/`** - Project-specific data (created in your project root)
|
|
88
|
+
- `docs/` - Project documents
|
|
89
|
+
- `stories/` - Story workflows
|
|
90
|
+
|
|
91
|
+
- **`~/.swic/`** - Shared data (created in your home directory)
|
|
92
|
+
- `docs/` - Shared documents across all projects
|
|
93
|
+
- `templates/` - Reusable templates
|
|
94
|
+
- `workflows/` - Workflow definitions
|
|
95
|
+
|
|
96
|
+
These directories are created automatically when you first use SWIC.
|
|
97
|
+
|
|
98
|
+
## Available MCP Tools
|
|
99
|
+
|
|
100
|
+
When used as an MCP server, SWIC provides these tools to Claude:
|
|
101
|
+
|
|
102
|
+
- `doc_create` - Create a new document
|
|
103
|
+
- `doc_read` - Read one or more documents
|
|
104
|
+
- `doc_edit` - Edit document content
|
|
105
|
+
- `doc_delete` - Delete one or more documents
|
|
106
|
+
- `doc_list` - List all documents
|
|
107
|
+
- `doc_move` - Move or rename documents
|
|
108
|
+
|
|
109
|
+
## CLI Commands
|
|
110
|
+
|
|
111
|
+
### Document Management
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
# Create
|
|
115
|
+
swic doc create <scope> <path> [content]
|
|
116
|
+
|
|
117
|
+
# Read
|
|
118
|
+
swic doc read <identifier>
|
|
119
|
+
|
|
120
|
+
# Edit
|
|
121
|
+
swic doc edit <identifier> --replace-once "old" "new"
|
|
122
|
+
swic doc edit <identifier> --replace-all "old" "new"
|
|
123
|
+
swic doc edit <identifier> --replace-all-content "new content"
|
|
124
|
+
|
|
125
|
+
# Delete
|
|
126
|
+
swic doc delete <identifier>
|
|
127
|
+
|
|
128
|
+
# List
|
|
129
|
+
swic doc list [scope]
|
|
130
|
+
|
|
131
|
+
# Move
|
|
132
|
+
swic doc move <source> <destination>
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
**Scopes**: `project` or `shared`
|
|
136
|
+
|
|
137
|
+
## Development
|
|
138
|
+
|
|
139
|
+
### Building from Source
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
# Clone the repository
|
|
143
|
+
git clone https://github.com/kelceyp/swic.git
|
|
144
|
+
cd swic
|
|
145
|
+
|
|
146
|
+
# Install dependencies
|
|
147
|
+
bun install
|
|
148
|
+
|
|
149
|
+
# Build distribution
|
|
150
|
+
bun run build
|
|
151
|
+
|
|
152
|
+
# Test locally
|
|
153
|
+
./dist/cli/cli.js doc list
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### Running Tests
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
# Run E2E tests locally
|
|
160
|
+
bun run test:e2e:local
|
|
161
|
+
|
|
162
|
+
# Run E2E tests in Docker
|
|
163
|
+
bun run test:e2e
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
## Project Philosophy
|
|
167
|
+
|
|
168
|
+
SWIC follows these core principles:
|
|
169
|
+
|
|
170
|
+
1. **Don't be helpful** - Do only what's asked, no gold-plating
|
|
171
|
+
2. **Be brutal with scope** - No extra features, no "while I'm at it"
|
|
172
|
+
3. **Follow the story process** - Specs define WHAT, designs define HOW
|
|
173
|
+
4. **RTFM** - Research before implementing
|
|
174
|
+
5. **No backwards compatibility** - Breaking changes are fine
|
|
175
|
+
6. **No fallbacks or defaults** - Fail fast, don't mask issues
|
|
176
|
+
7. **Measure twice, cut once** - Shift left, ask questions, do designs
|
|
177
|
+
8. **Don't run ahead of the user** - Work with the user
|
|
178
|
+
9. **No time estimates** - They're always wrong, just do the work
|
|
179
|
+
|
|
180
|
+
See [CLAUDE.md](./CLAUDE.md) for full development guidelines.
|
|
181
|
+
|
|
182
|
+
## License
|
|
183
|
+
|
|
184
|
+
MIT
|
|
185
|
+
|
|
186
|
+
## Author
|
|
187
|
+
|
|
188
|
+
Paul Kelcey
|
|
189
|
+
|
|
190
|
+
## Repository
|
|
191
|
+
|
|
192
|
+
[https://github.com/kelceyp/swic](https://github.com/kelceyp/swic)
|
|
193
|
+
|
|
194
|
+
## Issues
|
|
195
|
+
|
|
196
|
+
Report issues at: [https://github.com/kelceyp/swic/issues](https://github.com/kelceyp/swic/issues)
|