@sudocode-ai/cli 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 +330 -0
- package/dist/cli/feedback-commands.d.ts +53 -0
- package/dist/cli/init-commands.d.ts +22 -0
- package/dist/cli/issue-commands.d.ts +45 -0
- package/dist/cli/query-commands.d.ts +18 -0
- package/dist/cli/reference-commands.d.ts +22 -0
- package/dist/cli/relationship-commands.d.ts +14 -0
- package/dist/cli/server-commands.d.ts +17 -0
- package/dist/cli/spec-commands.d.ts +38 -0
- package/dist/cli/status-commands.d.ts +17 -0
- package/dist/cli/sync-commands.d.ts +24 -0
- package/dist/cli/update-commands.d.ts +12 -0
- package/dist/cli.d.ts +6 -0
- package/dist/cli.js +196 -0
- package/dist/db.d.ts +21 -0
- package/dist/export.d.ts +79 -0
- package/dist/filename-generator.d.ts +30 -0
- package/dist/id-generator.d.ts +26 -0
- package/dist/import.d.ts +118 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.js +189 -0
- package/dist/jsonl.d.ts +69 -0
- package/dist/markdown.d.ts +146 -0
- package/dist/migrations.d.ts +23 -0
- package/dist/operations/events.d.ts +53 -0
- package/dist/operations/feedback-anchors.d.ts +92 -0
- package/dist/operations/feedback.d.ts +76 -0
- package/dist/operations/index.d.ts +10 -0
- package/dist/operations/issues.d.ts +82 -0
- package/dist/operations/references.d.ts +34 -0
- package/dist/operations/relationships.d.ts +57 -0
- package/dist/operations/specs.d.ts +64 -0
- package/dist/operations/tags.d.ts +42 -0
- package/dist/operations/transactions.d.ts +41 -0
- package/dist/sync.d.ts +47 -0
- package/dist/test-schema.d.ts +5 -0
- package/dist/types.d.ts +7 -0
- package/dist/update-checker.d.ts +24 -0
- package/dist/version.d.ts +12 -0
- package/dist/watcher.d.ts +63 -0
- package/package.json +68 -0
package/README.md
ADDED
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
# @sudocode-ai/cli
|
|
2
|
+
|
|
3
|
+
Command-line interface for [sudocode](https://github.com/sudocode-ai/sudocode) - Git-native spec and issue management for AI-assisted software development.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
The sudocode CLI provides a complete toolkit for managing specifications and issues in a git-native workflow. All data is stored in `.sudocode/` as JSONL files that can be versioned alongside your code, with a local SQLite cache for fast queries.
|
|
8
|
+
|
|
9
|
+
## Features
|
|
10
|
+
|
|
11
|
+
- **Git-native workflow** - All specs and issues stored as JSONL in `.sudocode/`
|
|
12
|
+
- **Fast local cache** - SQLite database for instant queries
|
|
13
|
+
- **Bidirectional sync** - Export to markdown for editing, import back to database
|
|
14
|
+
- **Relationship tracking** - Link specs and issues with typed relationships
|
|
15
|
+
- **Cross-references** - Add inline Obsidian-style `[[ID]]` references in markdown
|
|
16
|
+
- **Anchored feedback** - Attach issue feedback to specific lines in specs
|
|
17
|
+
- **Priority management** - 5-level priority system (0-4)
|
|
18
|
+
- **Flexible queries** - Filter by status, assignee, priority, or grep content
|
|
19
|
+
- **Watch mode** - Auto-sync markdown changes to database
|
|
20
|
+
|
|
21
|
+
## Installation
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npm install -g @sudocode-ai/cli
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Or install the meta-package that includes the CLI:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npm install -g sudocode
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Quick Start
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
# Initialize sudocode in your project
|
|
37
|
+
sudocode init
|
|
38
|
+
|
|
39
|
+
# Create a spec
|
|
40
|
+
sudocode spec create "User authentication system" -p 4
|
|
41
|
+
|
|
42
|
+
# Create an issue
|
|
43
|
+
sudocode issue create "Implement login endpoint" -p 3 -a alice
|
|
44
|
+
|
|
45
|
+
# Link issue to spec
|
|
46
|
+
sudocode link ISSUE-1 SPEC-1 --type implements
|
|
47
|
+
|
|
48
|
+
# Show ready work
|
|
49
|
+
sudocode ready
|
|
50
|
+
|
|
51
|
+
# Update issue status
|
|
52
|
+
sudocode issue update ISSUE-1 --status in_progress
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Commands
|
|
56
|
+
|
|
57
|
+
### Initialization
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
sudocode init [options]
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Initialize `.sudocode/` directory structure with database, JSONL files, and configuration.
|
|
64
|
+
|
|
65
|
+
**Options:**
|
|
66
|
+
- `--spec-prefix <prefix>` - ID prefix for specs (default: "SPEC")
|
|
67
|
+
- `--issue-prefix <prefix>` - ID prefix for issues (default: "ISSUE")
|
|
68
|
+
|
|
69
|
+
**Creates:**
|
|
70
|
+
- `.sudocode/cache.db` - SQLite database (gitignored)
|
|
71
|
+
- `.sudocode/specs.jsonl` - Spec storage (versioned)
|
|
72
|
+
- `.sudocode/issues.jsonl` - Issue storage (versioned)
|
|
73
|
+
- `.sudocode/config.json` - Metadata config (versioned)
|
|
74
|
+
- `.sudocode/.gitignore` - Ignores cache and markdown files
|
|
75
|
+
|
|
76
|
+
### Spec Management
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
# Create a new spec
|
|
80
|
+
sudocode spec create <title> [options]
|
|
81
|
+
-p, --priority <0-4> Priority level (default: 2)
|
|
82
|
+
-d, --description <text> Description
|
|
83
|
+
--design <text> Design notes
|
|
84
|
+
--file-path <path> Custom markdown file path
|
|
85
|
+
--parent <id> Parent spec ID
|
|
86
|
+
--tags <tags> Comma-separated tags
|
|
87
|
+
|
|
88
|
+
# List specs
|
|
89
|
+
sudocode spec list [options]
|
|
90
|
+
-p, --priority <priority> Filter by priority
|
|
91
|
+
-g, --grep <query> Search title or content
|
|
92
|
+
--limit <num> Limit results (default: 50)
|
|
93
|
+
|
|
94
|
+
# Show spec details
|
|
95
|
+
sudocode spec show <id>
|
|
96
|
+
|
|
97
|
+
# Delete specs
|
|
98
|
+
sudocode spec delete <id...>
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Issue Management
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
# Create a new issue
|
|
105
|
+
sudocode issue create <title> [options]
|
|
106
|
+
-p, --priority <0-4> Priority level (default: 2)
|
|
107
|
+
-d, --description <text> Description
|
|
108
|
+
-a, --assignee <name> Assignee username
|
|
109
|
+
--parent <id> Parent issue ID
|
|
110
|
+
--tags <tags> Comma-separated tags
|
|
111
|
+
|
|
112
|
+
# List issues
|
|
113
|
+
sudocode issue list [options]
|
|
114
|
+
-s, --status <status> Filter by status (open, in_progress, blocked, needs_review, closed)
|
|
115
|
+
-a, --assignee <assignee> Filter by assignee
|
|
116
|
+
-p, --priority <priority> Filter by priority
|
|
117
|
+
-g, --grep <query> Search title, description, or content
|
|
118
|
+
--limit <num> Limit results (default: 50)
|
|
119
|
+
|
|
120
|
+
# Show issue details
|
|
121
|
+
sudocode issue show <id>
|
|
122
|
+
|
|
123
|
+
# Update issue
|
|
124
|
+
sudocode issue update <id> [options]
|
|
125
|
+
-s, --status <status> New status
|
|
126
|
+
-p, --priority <priority> New priority
|
|
127
|
+
-a, --assignee <assignee> New assignee
|
|
128
|
+
--title <title> New title
|
|
129
|
+
--description <desc> New description
|
|
130
|
+
|
|
131
|
+
# Close issues
|
|
132
|
+
sudocode issue close <id...> [options]
|
|
133
|
+
-r, --reason <text> Reason for closing
|
|
134
|
+
|
|
135
|
+
# Delete issues
|
|
136
|
+
sudocode issue delete <id...> [options]
|
|
137
|
+
--hard Permanently delete (default: close)
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### Relationships
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
# Link entities
|
|
144
|
+
sudocode link <from> <to> [options]
|
|
145
|
+
-t, --type <type> Relationship type (default: "references")
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
**Relationship types:**
|
|
149
|
+
- `blocks` - From blocks To (e.g., ISSUE-1 blocks ISSUE-2)
|
|
150
|
+
- `implements` - From implements To (e.g., ISSUE-1 implements SPEC-1)
|
|
151
|
+
- `references` - From references To (general reference)
|
|
152
|
+
- `depends-on` - From depends on To
|
|
153
|
+
- `related` - General relation
|
|
154
|
+
- `discovered-from` - Issue discovered from spec feedback
|
|
155
|
+
|
|
156
|
+
### Cross-References
|
|
157
|
+
|
|
158
|
+
Add inline references to specs or issues using Obsidian-style `[[ID]]` syntax.
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
# Add reference to a spec or issue
|
|
162
|
+
sudocode spec add-ref <entity-id> <reference-id> [options]
|
|
163
|
+
sudocode issue add-ref <entity-id> <reference-id> [options]
|
|
164
|
+
-l, --line <number> Line number to insert reference
|
|
165
|
+
-t, --text <text> Text to search for insertion point
|
|
166
|
+
--display <text> Display text for reference (creates [[ID|text]])
|
|
167
|
+
--type <type> Relationship type (creates [[ID]]{ type })
|
|
168
|
+
--format <format> Format: inline or newline (default: inline)
|
|
169
|
+
--position <position> Position: before or after (default: after)
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
**Notes:**
|
|
173
|
+
- Either `--line` or `--text` is required (mutually exclusive)
|
|
174
|
+
- References use Obsidian-style syntax: `[[ISSUE-001]]`
|
|
175
|
+
- Display text: `[[ISSUE-001|OAuth Implementation]]`
|
|
176
|
+
- With relationship: `[[SPEC-002]]{ implements }`
|
|
177
|
+
- Combined: `[[SPEC-002|Auth Spec]]{ blocks }`
|
|
178
|
+
- Inline format adds reference on same line with surrounding text
|
|
179
|
+
- Newline format adds reference on its own line
|
|
180
|
+
|
|
181
|
+
**Examples:**
|
|
182
|
+
|
|
183
|
+
```bash
|
|
184
|
+
# Add reference inline after line 45
|
|
185
|
+
sudocode spec add-ref SPEC-001 ISSUE-003 --line 45
|
|
186
|
+
|
|
187
|
+
# Add reference after specific text
|
|
188
|
+
sudocode spec add-ref SPEC-001 ISSUE-003 --text "Requirements:"
|
|
189
|
+
|
|
190
|
+
# Add with display text
|
|
191
|
+
sudocode spec add-ref SPEC-001 ISSUE-003 --line 45 --display "OAuth implementation"
|
|
192
|
+
|
|
193
|
+
# Add with relationship type
|
|
194
|
+
sudocode issue add-ref ISSUE-001 SPEC-002 --text "Design" --type implements
|
|
195
|
+
|
|
196
|
+
# Add on new line before text
|
|
197
|
+
sudocode spec add-ref SPEC-001 ISSUE-004 --text "## Tasks" --format newline --position before
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
### Query Commands
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
# Show ready work (no blockers)
|
|
204
|
+
sudocode ready
|
|
205
|
+
|
|
206
|
+
# Show blocked issues
|
|
207
|
+
sudocode blocked
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
### Status & Stats
|
|
211
|
+
|
|
212
|
+
```bash
|
|
213
|
+
# Quick project status
|
|
214
|
+
sudocode status [options]
|
|
215
|
+
-v, --verbose Show detailed status
|
|
216
|
+
|
|
217
|
+
# Detailed statistics
|
|
218
|
+
sudocode stats
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
### Feedback Management
|
|
222
|
+
|
|
223
|
+
Feedback allows issues to reference specific locations in specs with anchored comments.
|
|
224
|
+
|
|
225
|
+
```bash
|
|
226
|
+
# Add feedback to a spec
|
|
227
|
+
sudocode feedback add <issue-id> <spec-id> [options]
|
|
228
|
+
-l, --line <number> Line number in spec
|
|
229
|
+
-t, --text <text> Text to search for anchor
|
|
230
|
+
--type <type> Feedback type (comment, suggestion, request)
|
|
231
|
+
-c, --content <text> Feedback content (required)
|
|
232
|
+
-a, --agent <name> Agent name
|
|
233
|
+
|
|
234
|
+
# List feedback
|
|
235
|
+
sudocode feedback list [options]
|
|
236
|
+
-i, --issue <id> Filter by issue ID
|
|
237
|
+
-s, --spec <id> Filter by spec ID
|
|
238
|
+
-t, --type <type> Filter by type
|
|
239
|
+
--status <status> Filter by status (open, acknowledged, resolved, wont_fix)
|
|
240
|
+
--limit <num> Limit results (default: 50)
|
|
241
|
+
|
|
242
|
+
# Show feedback details
|
|
243
|
+
sudocode feedback show <id>
|
|
244
|
+
|
|
245
|
+
# Dismiss feedback
|
|
246
|
+
sudocode feedback dismiss <id> [options]
|
|
247
|
+
-c, --comment <text> Optional comment
|
|
248
|
+
|
|
249
|
+
# List stale feedback anchors
|
|
250
|
+
sudocode feedback stale
|
|
251
|
+
|
|
252
|
+
# Manually relocate stale anchor
|
|
253
|
+
sudocode feedback relocate <id> --line <number>
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
### Sync & Export
|
|
257
|
+
|
|
258
|
+
```bash
|
|
259
|
+
# Sync between markdown, JSONL, and database
|
|
260
|
+
sudocode sync [options]
|
|
261
|
+
--watch Watch for changes and auto-sync
|
|
262
|
+
--from-markdown Sync from markdown to database
|
|
263
|
+
--to-markdown Sync from database to markdown
|
|
264
|
+
|
|
265
|
+
# Export database to JSONL
|
|
266
|
+
sudocode export [options]
|
|
267
|
+
-o, --output <dir> Output directory (default: ".sudocode")
|
|
268
|
+
|
|
269
|
+
# Import JSONL to database
|
|
270
|
+
sudocode import [options]
|
|
271
|
+
-i, --input <dir> Input directory (default: ".sudocode")
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
## Global Options
|
|
275
|
+
|
|
276
|
+
```bash
|
|
277
|
+
--db <path> Custom database path (auto-discovers by default)
|
|
278
|
+
--json Output in JSON format
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
## Example Workflows
|
|
282
|
+
|
|
283
|
+
### Creating and Working on a Feature
|
|
284
|
+
|
|
285
|
+
```bash
|
|
286
|
+
# Create a spec for the feature
|
|
287
|
+
sudocode spec create "Add OAuth authentication" -p 4 --tags auth,security
|
|
288
|
+
|
|
289
|
+
# Create implementation issues
|
|
290
|
+
sudocode issue create "Set up OAuth provider" -p 3 -a alice
|
|
291
|
+
sudocode issue create "Create login flow" -p 3 -a bob
|
|
292
|
+
|
|
293
|
+
# Link issues to spec
|
|
294
|
+
sudocode link ISSUE-1 SPEC-1 --type implements
|
|
295
|
+
sudocode link ISSUE-2 SPEC-1 --type implements
|
|
296
|
+
|
|
297
|
+
# Mark an issue as blocking another
|
|
298
|
+
sudocode link ISSUE-1 ISSUE-2 --type blocks
|
|
299
|
+
|
|
300
|
+
# Check what's ready to work on
|
|
301
|
+
sudocode ready
|
|
302
|
+
|
|
303
|
+
# Start working
|
|
304
|
+
sudocode issue update ISSUE-1 --status in_progress
|
|
305
|
+
|
|
306
|
+
# Complete the work
|
|
307
|
+
sudocode issue close ISSUE-1 -r "OAuth provider configured"
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
### Adding Feedback to Specs
|
|
311
|
+
|
|
312
|
+
```bash
|
|
313
|
+
# Add feedback at a specific line
|
|
314
|
+
sudocode feedback add ISSUE-3 SPEC-1 \
|
|
315
|
+
--line 42 \
|
|
316
|
+
--content "Consider adding rate limiting" \
|
|
317
|
+
--type suggestion
|
|
318
|
+
|
|
319
|
+
# Add feedback by searching for text
|
|
320
|
+
sudocode feedback add ISSUE-4 SPEC-1 \
|
|
321
|
+
--text "password requirements" \
|
|
322
|
+
--content "Should we support passkeys?" \
|
|
323
|
+
--type comment
|
|
324
|
+
|
|
325
|
+
# List all feedback for a spec
|
|
326
|
+
sudocode feedback list --spec SPEC-1
|
|
327
|
+
|
|
328
|
+
# Check for stale anchors
|
|
329
|
+
sudocode feedback stale
|
|
330
|
+
```
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI handlers for feedback commands
|
|
3
|
+
*/
|
|
4
|
+
import type Database from 'better-sqlite3';
|
|
5
|
+
export interface CommandContext {
|
|
6
|
+
db: Database.Database;
|
|
7
|
+
outputDir: string;
|
|
8
|
+
jsonOutput: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface FeedbackAddOptions {
|
|
11
|
+
line?: string;
|
|
12
|
+
text?: string;
|
|
13
|
+
type: string;
|
|
14
|
+
content: string;
|
|
15
|
+
agent?: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Add feedback to a spec from an issue
|
|
19
|
+
*/
|
|
20
|
+
export declare function handleFeedbackAdd(ctx: CommandContext, issueId: string, specId: string, options: FeedbackAddOptions): Promise<void>;
|
|
21
|
+
export interface FeedbackListOptions {
|
|
22
|
+
issue?: string;
|
|
23
|
+
spec?: string;
|
|
24
|
+
type?: string;
|
|
25
|
+
dismissed?: string;
|
|
26
|
+
limit: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* List feedback with optional filters
|
|
30
|
+
*/
|
|
31
|
+
export declare function handleFeedbackList(ctx: CommandContext, options: FeedbackListOptions): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Show detailed feedback information
|
|
34
|
+
*/
|
|
35
|
+
export declare function handleFeedbackShow(ctx: CommandContext, id: string): Promise<void>;
|
|
36
|
+
export interface FeedbackDismissOptions {
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Dismiss feedback
|
|
40
|
+
*/
|
|
41
|
+
export declare function handleFeedbackDismiss(ctx: CommandContext, id: string, options: FeedbackDismissOptions): Promise<void>;
|
|
42
|
+
/**
|
|
43
|
+
* List stale feedback anchors
|
|
44
|
+
*/
|
|
45
|
+
export declare function handleFeedbackStale(ctx: CommandContext): Promise<void>;
|
|
46
|
+
export interface FeedbackRelocateOptions {
|
|
47
|
+
line: string;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Manually relocate a stale anchor
|
|
51
|
+
*/
|
|
52
|
+
export declare function handleFeedbackRelocate(ctx: CommandContext, id: string, options: FeedbackRelocateOptions): Promise<void>;
|
|
53
|
+
//# sourceMappingURL=feedback-commands.d.ts.map
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI handlers for init command
|
|
3
|
+
*/
|
|
4
|
+
export interface InitOptions {
|
|
5
|
+
specPrefix?: string;
|
|
6
|
+
issuePrefix?: string;
|
|
7
|
+
dir?: string;
|
|
8
|
+
jsonOutput?: boolean;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Check if sudocode is initialized in a directory
|
|
12
|
+
*/
|
|
13
|
+
export declare function isInitialized(dir: string): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Perform sudocode initialization
|
|
16
|
+
*/
|
|
17
|
+
export declare function performInitialization(options?: InitOptions): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Handle init command
|
|
20
|
+
*/
|
|
21
|
+
export declare function handleInit(options: InitOptions): Promise<void>;
|
|
22
|
+
//# sourceMappingURL=init-commands.d.ts.map
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI handlers for issue commands
|
|
3
|
+
*/
|
|
4
|
+
import type Database from "better-sqlite3";
|
|
5
|
+
export interface CommandContext {
|
|
6
|
+
db: Database.Database;
|
|
7
|
+
outputDir: string;
|
|
8
|
+
jsonOutput: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface IssueCreateOptions {
|
|
11
|
+
priority: string;
|
|
12
|
+
description?: string;
|
|
13
|
+
assignee?: string;
|
|
14
|
+
parent?: string;
|
|
15
|
+
tags?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare function handleIssueCreate(ctx: CommandContext, title: string, options: IssueCreateOptions): Promise<void>;
|
|
18
|
+
export interface IssueListOptions {
|
|
19
|
+
status?: string;
|
|
20
|
+
assignee?: string;
|
|
21
|
+
priority?: string;
|
|
22
|
+
grep?: string;
|
|
23
|
+
archived?: string;
|
|
24
|
+
limit: string;
|
|
25
|
+
}
|
|
26
|
+
export declare function handleIssueList(ctx: CommandContext, options: IssueListOptions): Promise<void>;
|
|
27
|
+
export declare function handleIssueShow(ctx: CommandContext, id: string): Promise<void>;
|
|
28
|
+
export interface IssueUpdateOptions {
|
|
29
|
+
status?: string;
|
|
30
|
+
priority?: string;
|
|
31
|
+
assignee?: string;
|
|
32
|
+
title?: string;
|
|
33
|
+
description?: string;
|
|
34
|
+
archived?: string;
|
|
35
|
+
}
|
|
36
|
+
export declare function handleIssueUpdate(ctx: CommandContext, id: string, options: IssueUpdateOptions): Promise<void>;
|
|
37
|
+
export interface IssueCloseOptions {
|
|
38
|
+
reason?: string;
|
|
39
|
+
}
|
|
40
|
+
export declare function handleIssueClose(ctx: CommandContext, ids: string[], options: IssueCloseOptions): Promise<void>;
|
|
41
|
+
export interface IssueDeleteOptions {
|
|
42
|
+
hard?: boolean;
|
|
43
|
+
}
|
|
44
|
+
export declare function handleIssueDelete(ctx: CommandContext, ids: string[], options: IssueDeleteOptions): Promise<void>;
|
|
45
|
+
//# sourceMappingURL=issue-commands.d.ts.map
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI handlers for query commands (ready, blocked)
|
|
3
|
+
*/
|
|
4
|
+
import type Database from 'better-sqlite3';
|
|
5
|
+
export interface CommandContext {
|
|
6
|
+
db: Database.Database;
|
|
7
|
+
outputDir: string;
|
|
8
|
+
jsonOutput: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface ReadyOptions {
|
|
11
|
+
issues?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare function handleReady(ctx: CommandContext, options: ReadyOptions): Promise<void>;
|
|
14
|
+
export interface BlockedOptions {
|
|
15
|
+
issues?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export declare function handleBlocked(ctx: CommandContext, options: BlockedOptions): Promise<void>;
|
|
18
|
+
//# sourceMappingURL=query-commands.d.ts.map
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI handlers for reference commands
|
|
3
|
+
*/
|
|
4
|
+
import type Database from 'better-sqlite3';
|
|
5
|
+
export interface CommandContext {
|
|
6
|
+
db: Database.Database;
|
|
7
|
+
outputDir: string;
|
|
8
|
+
jsonOutput: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface AddReferenceOptions {
|
|
11
|
+
line?: string;
|
|
12
|
+
text?: string;
|
|
13
|
+
display?: string;
|
|
14
|
+
type?: string;
|
|
15
|
+
format?: 'inline' | 'newline';
|
|
16
|
+
position?: 'before' | 'after';
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Add a reference to a spec or issue markdown file
|
|
20
|
+
*/
|
|
21
|
+
export declare function handleAddReference(ctx: CommandContext, entityId: string, referenceId: string, options: AddReferenceOptions): Promise<void>;
|
|
22
|
+
//# sourceMappingURL=reference-commands.d.ts.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI handlers for relationship commands
|
|
3
|
+
*/
|
|
4
|
+
import type Database from 'better-sqlite3';
|
|
5
|
+
export interface CommandContext {
|
|
6
|
+
db: Database.Database;
|
|
7
|
+
outputDir: string;
|
|
8
|
+
jsonOutput: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface LinkOptions {
|
|
11
|
+
type: string;
|
|
12
|
+
}
|
|
13
|
+
export declare function handleLink(ctx: CommandContext, from: string, to: string, options: LinkOptions): Promise<void>;
|
|
14
|
+
//# sourceMappingURL=relationship-commands.d.ts.map
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI handlers for server commands
|
|
3
|
+
*/
|
|
4
|
+
export interface CommandContext {
|
|
5
|
+
db: any;
|
|
6
|
+
outputDir: string;
|
|
7
|
+
jsonOutput: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface ServerStartOptions {
|
|
10
|
+
port?: string;
|
|
11
|
+
detach?: boolean;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Start the sudocode local server
|
|
15
|
+
*/
|
|
16
|
+
export declare function handleServerStart(ctx: CommandContext, options: ServerStartOptions): Promise<void>;
|
|
17
|
+
//# sourceMappingURL=server-commands.d.ts.map
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI handlers for spec commands
|
|
3
|
+
*/
|
|
4
|
+
import type Database from "better-sqlite3";
|
|
5
|
+
export interface CommandContext {
|
|
6
|
+
db: Database.Database;
|
|
7
|
+
outputDir: string;
|
|
8
|
+
jsonOutput: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface SpecCreateOptions {
|
|
11
|
+
priority: string;
|
|
12
|
+
description?: string;
|
|
13
|
+
filePath?: string;
|
|
14
|
+
parent?: string;
|
|
15
|
+
tags?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare function handleSpecCreate(ctx: CommandContext, title: string, options: SpecCreateOptions): Promise<void>;
|
|
18
|
+
export interface SpecListOptions {
|
|
19
|
+
priority?: string;
|
|
20
|
+
grep?: string;
|
|
21
|
+
archived?: string;
|
|
22
|
+
limit: string;
|
|
23
|
+
}
|
|
24
|
+
export declare function handleSpecList(ctx: CommandContext, options: SpecListOptions): Promise<void>;
|
|
25
|
+
export declare function handleSpecShow(ctx: CommandContext, id: string): Promise<void>;
|
|
26
|
+
export interface SpecUpdateOptions {
|
|
27
|
+
title?: string;
|
|
28
|
+
priority?: string;
|
|
29
|
+
description?: string;
|
|
30
|
+
parent?: string;
|
|
31
|
+
tags?: string;
|
|
32
|
+
archived?: string;
|
|
33
|
+
}
|
|
34
|
+
export declare function handleSpecUpdate(ctx: CommandContext, id: string, options: SpecUpdateOptions): Promise<void>;
|
|
35
|
+
export interface SpecDeleteOptions {
|
|
36
|
+
}
|
|
37
|
+
export declare function handleSpecDelete(ctx: CommandContext, ids: string[], options: SpecDeleteOptions): Promise<void>;
|
|
38
|
+
//# sourceMappingURL=spec-commands.d.ts.map
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI handlers for status and stats commands
|
|
3
|
+
*/
|
|
4
|
+
import type Database from "better-sqlite3";
|
|
5
|
+
export interface CommandContext {
|
|
6
|
+
db: Database.Database;
|
|
7
|
+
outputDir: string;
|
|
8
|
+
jsonOutput: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface StatusOptions {
|
|
11
|
+
verbose?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare function handleStatus(ctx: CommandContext, options: StatusOptions): Promise<void>;
|
|
14
|
+
export interface StatsOptions {
|
|
15
|
+
}
|
|
16
|
+
export declare function handleStats(ctx: CommandContext, options: StatsOptions): Promise<void>;
|
|
17
|
+
//# sourceMappingURL=status-commands.d.ts.map
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI handlers for sync commands
|
|
3
|
+
*/
|
|
4
|
+
import type Database from "better-sqlite3";
|
|
5
|
+
export interface CommandContext {
|
|
6
|
+
db: Database.Database;
|
|
7
|
+
outputDir: string;
|
|
8
|
+
jsonOutput: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface SyncOptions {
|
|
11
|
+
watch?: boolean;
|
|
12
|
+
fromMarkdown?: boolean;
|
|
13
|
+
toMarkdown?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare function handleSync(ctx: CommandContext, options: SyncOptions): Promise<void>;
|
|
16
|
+
export interface ExportOptions {
|
|
17
|
+
output: string;
|
|
18
|
+
}
|
|
19
|
+
export declare function handleExport(ctx: CommandContext, options: ExportOptions): Promise<void>;
|
|
20
|
+
export interface ImportOptions {
|
|
21
|
+
input: string;
|
|
22
|
+
}
|
|
23
|
+
export declare function handleImport(ctx: CommandContext, options: ImportOptions): Promise<void>;
|
|
24
|
+
//# sourceMappingURL=sync-commands.d.ts.map
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Update command handlers
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Handle update check command
|
|
6
|
+
*/
|
|
7
|
+
export declare function handleUpdateCheck(): Promise<void>;
|
|
8
|
+
/**
|
|
9
|
+
* Handle update install command
|
|
10
|
+
*/
|
|
11
|
+
export declare function handleUpdate(): Promise<void>;
|
|
12
|
+
//# sourceMappingURL=update-commands.d.ts.map
|