sudocode 1.0.0 → 1.1.2
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 +223 -0
- package/package.json +19 -16
- package/index.js +0 -5
package/README.md
ADDED
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
# sudocode
|
|
2
|
+
|
|
3
|
+
Git-native spec and issue management for AI-assisted software development.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
Sudocode is a git-native workflow tool designed for AI-assisted development. It stores specs and issues as JSONL files alongside your code, enabling version control, branching, and merging of your project management data just like code.
|
|
8
|
+
|
|
9
|
+
**Key Features:**
|
|
10
|
+
- **Git-native** - All data stored in `.sudocode/` as JSONL, versioned with your code
|
|
11
|
+
- **Anchored feedback** - Link issues to specific lines in specs with smart relocation
|
|
12
|
+
- **Relationship tracking** - Model dependencies, blockers, and implementations
|
|
13
|
+
- **MCP integration** - Works seamlessly with Claude and other AI assistants
|
|
14
|
+
- **Fast local cache** - SQLite for instant queries without parsing JSONL
|
|
15
|
+
- **Bidirectional sync** - Export to markdown, edit, import back
|
|
16
|
+
|
|
17
|
+
## What's Included
|
|
18
|
+
|
|
19
|
+
This meta-package bundles all sudocode components:
|
|
20
|
+
|
|
21
|
+
- **@sudocode-ai/cli** - Command-line interface (`sudocode` command)
|
|
22
|
+
- **@sudocode-ai/mcp** - Model Context Protocol server for AI assistants
|
|
23
|
+
- **@sudocode-ai/types** - TypeScript type definitions
|
|
24
|
+
|
|
25
|
+
## Installation
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
npm install -g sudocode
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
After installation, both `sudocode` (also aliased as `sdc`) commands will be available.
|
|
32
|
+
|
|
33
|
+
## Quick Start
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
# Initialize in your project
|
|
37
|
+
sudocode init
|
|
38
|
+
|
|
39
|
+
# Create your first spec
|
|
40
|
+
sudocode spec create "User authentication system" -p 4
|
|
41
|
+
|
|
42
|
+
# Create an issue
|
|
43
|
+
sudocode issue create "Implement OAuth login" -p 3 -a alice
|
|
44
|
+
|
|
45
|
+
# Link the issue to the spec
|
|
46
|
+
sudocode link ISSUE-1 SPEC-1 --type implements
|
|
47
|
+
|
|
48
|
+
# Show what's ready to work on
|
|
49
|
+
sudocode ready
|
|
50
|
+
|
|
51
|
+
# Update issue status
|
|
52
|
+
sudocode issue update ISSUE-1 --status in_progress
|
|
53
|
+
|
|
54
|
+
# View project status
|
|
55
|
+
sudocode status
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Core Commands
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
# Initialization
|
|
62
|
+
sudocode init # Set up .sudocode/ directory
|
|
63
|
+
|
|
64
|
+
# Specs (specifications/requirements)
|
|
65
|
+
sudocode spec create <title> [options] # Create a spec
|
|
66
|
+
sudocode spec list # List all specs
|
|
67
|
+
sudocode spec show <id> # Show spec details
|
|
68
|
+
|
|
69
|
+
# Issues (tasks/bugs)
|
|
70
|
+
sudocode issue create <title> [options] # Create an issue
|
|
71
|
+
sudocode issue list [options] # List issues
|
|
72
|
+
sudocode issue update <id> [options] # Update issue
|
|
73
|
+
sudocode issue close <id> # Close issue
|
|
74
|
+
|
|
75
|
+
# Relationships
|
|
76
|
+
sudocode link <from> <to> --type <type> # Link entities
|
|
77
|
+
sudocode ready # Show unblocked work
|
|
78
|
+
sudocode blocked # Show blocked issues
|
|
79
|
+
|
|
80
|
+
# Feedback (link issues to spec lines)
|
|
81
|
+
sudocode feedback add <issue> <spec> [options] # Add anchored feedback
|
|
82
|
+
sudocode feedback list # List feedback
|
|
83
|
+
|
|
84
|
+
# Status
|
|
85
|
+
sudocode status # Quick status
|
|
86
|
+
sudocode stats # Detailed statistics
|
|
87
|
+
|
|
88
|
+
# Sync
|
|
89
|
+
sudocode sync # Sync JSONL with database
|
|
90
|
+
sudocode sync --watch # Auto-sync on changes
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
For full command documentation, see [@sudocode-ai/cli](https://github.com/sudocode-ai/sudocode/tree/main/cli).
|
|
94
|
+
|
|
95
|
+
## MCP Integration
|
|
96
|
+
|
|
97
|
+
Sudocode includes an MCP server for seamless AI assistant integration. To use with Claude Code, you can either:
|
|
98
|
+
|
|
99
|
+
1. Add sudocode as a plugin:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
# In Claude Code
|
|
103
|
+
/plugin marketplace add sudocode-ai/sudocode
|
|
104
|
+
/plugin install sudocode
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
2. Configure Claude Code MCP server:
|
|
108
|
+
|
|
109
|
+
```json
|
|
110
|
+
{
|
|
111
|
+
"mcpServers": {
|
|
112
|
+
"sudocode": {
|
|
113
|
+
"command": "sudocode-mcp"
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Restart Claude Code to apply changes.
|
|
120
|
+
|
|
121
|
+
For full MCP documentation, see [@sudocode-ai/mcp](https://github.com/sudocode-ai/sudocode/tree/main/mcp).
|
|
122
|
+
|
|
123
|
+
## Example Workflow
|
|
124
|
+
|
|
125
|
+
### Creating a Feature
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
# Create a spec for the feature
|
|
129
|
+
sudocode spec create "OAuth2 Authentication" -p 4 --tags auth,security
|
|
130
|
+
|
|
131
|
+
# Create implementation issues
|
|
132
|
+
sudocode issue create "Set up OAuth provider configuration" -p 3 -a alice
|
|
133
|
+
sudocode issue create "Implement login endpoint" -p 3 -a bob
|
|
134
|
+
sudocode issue create "Add token refresh logic" -p 2 -a alice
|
|
135
|
+
|
|
136
|
+
# Link issues to spec
|
|
137
|
+
sudocode link ISSUE-1 SPEC-1 --type implements
|
|
138
|
+
sudocode link ISSUE-2 SPEC-1 --type implements
|
|
139
|
+
sudocode link ISSUE-3 SPEC-1 --type implements
|
|
140
|
+
|
|
141
|
+
# Model dependencies
|
|
142
|
+
sudocode link ISSUE-2 ISSUE-1 --type depends-on
|
|
143
|
+
|
|
144
|
+
# Check what's ready
|
|
145
|
+
sudocode ready
|
|
146
|
+
# Shows: ISSUE-1 (no dependencies)
|
|
147
|
+
|
|
148
|
+
# Start work
|
|
149
|
+
sudocode issue update ISSUE-1 --status in_progress
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### Adding Feedback to Specs
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
# Add feedback at a specific line
|
|
156
|
+
sudocode feedback add ISSUE-4 SPEC-1 \
|
|
157
|
+
--line 42 \
|
|
158
|
+
--content "Should we support 2FA?" \
|
|
159
|
+
--type suggestion
|
|
160
|
+
|
|
161
|
+
# Or search for text
|
|
162
|
+
sudocode feedback add ISSUE-5 SPEC-1 \
|
|
163
|
+
--text "password requirements" \
|
|
164
|
+
--content "Consider adding passwordless options" \
|
|
165
|
+
--type comment
|
|
166
|
+
|
|
167
|
+
# View feedback
|
|
168
|
+
sudocode feedback list --spec SPEC-1
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
## File Structure
|
|
172
|
+
|
|
173
|
+
After `sudocode init`, your project will have:
|
|
174
|
+
|
|
175
|
+
```
|
|
176
|
+
.sudocode/
|
|
177
|
+
├── meta.json # Config & ID counters (git tracked)
|
|
178
|
+
├── specs.jsonl # All specs (git tracked)
|
|
179
|
+
├── issues.jsonl # All issues (git tracked)
|
|
180
|
+
├── cache.db # SQLite cache (gitignored)
|
|
181
|
+
├── specs/ # Generated markdown that you can edit (gitignored)
|
|
182
|
+
├── issues/ # Generated markdown that you can edit (gitignored)
|
|
183
|
+
└── .gitignore # Ignores cache and generated files
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
The JSONL files are designed to be merged in git like code - each line is a complete entity.
|
|
187
|
+
|
|
188
|
+
## Why Git-Native?
|
|
189
|
+
|
|
190
|
+
**Traditional approach:** Project management data lives in external tools (Jira, Linear, etc.), disconnected from your code.
|
|
191
|
+
|
|
192
|
+
**Sudocode approach:** Project management data lives alongside your code in git, enabling:
|
|
193
|
+
- **Branch specs/issues** with your code branches
|
|
194
|
+
- **Merge specs/issues** when merging branches
|
|
195
|
+
- **Revert specs/issues** along with code changes
|
|
196
|
+
- **Review specs/issues** in pull requests
|
|
197
|
+
- **Version specs/issues** with release tags
|
|
198
|
+
- **AI assistants** can read and modify directly
|
|
199
|
+
|
|
200
|
+
## Use Cases
|
|
201
|
+
|
|
202
|
+
- **AI-assisted development** - Let AI agents manage issues and provide spec feedback
|
|
203
|
+
- **Spec-driven development** - Write specs, generate issues, track implementation
|
|
204
|
+
- **Context management** - Store project context that moves with your code
|
|
205
|
+
- **Local-first workflow** - No external services required, works offline
|
|
206
|
+
- **Team coordination** - Share specs/issues through git, merge like code
|
|
207
|
+
|
|
208
|
+
## Documentation
|
|
209
|
+
|
|
210
|
+
- **CLI Reference:** [@sudocode-ai/cli](https://github.com/sudocode-ai/sudocode/tree/main/cli)
|
|
211
|
+
- **MCP Server:** [@sudocode-ai/mcp](https://github.com/sudocode-ai/sudocode/tree/main/mcp)
|
|
212
|
+
- **Type Definitions:** [@sudocode-ai/types](https://github.com/sudocode-ai/sudocode/tree/main/types)
|
|
213
|
+
|
|
214
|
+
## Individual Package Installation
|
|
215
|
+
|
|
216
|
+
You can also install packages individually:
|
|
217
|
+
|
|
218
|
+
```bash
|
|
219
|
+
npm install -g @sudocode-ai/cli # CLI only
|
|
220
|
+
npm install -g @sudocode-ai/mcp # MCP server only
|
|
221
|
+
npm install -g @sudocode-ai/local-server # Under construction!
|
|
222
|
+
npm install @sudocode-ai/types # Types only (for development)
|
|
223
|
+
```
|
package/package.json
CHANGED
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sudocode",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
3
|
+
"version": "1.1.2",
|
|
4
|
+
"description": "Git-native spec and issue management for AI-assisted software development - meta-package",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"sudocode",
|
|
8
|
+
"project-management",
|
|
9
|
+
"specs",
|
|
10
|
+
"issues",
|
|
11
|
+
"mcp",
|
|
12
|
+
"cli"
|
|
13
|
+
],
|
|
14
|
+
"author": "sudocode AI",
|
|
15
|
+
"license": "Apache-2.0",
|
|
16
|
+
"dependencies": {
|
|
17
|
+
"@sudocode-ai/types": "^0.1.2",
|
|
18
|
+
"@sudocode-ai/cli": "^0.1.2",
|
|
19
|
+
"@sudocode-ai/mcp": "^0.1.2",
|
|
20
|
+
"@sudocode-ai/local-server": "^0.1.2"
|
|
21
|
+
}
|
|
19
22
|
}
|