opensddrag 0.1.0 → 0.1.1
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 +149 -0
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
# opensddrag
|
|
2
|
+
|
|
3
|
+
CLI client to connect any project to the [OpenSddRag](https://github.com/conexaoelite/OpenSddRag) SDD+Harness MCP server.
|
|
4
|
+
|
|
5
|
+
OpenSddRag implements **Spec-Driven Development (SDD)** — a structured workflow where every feature flows through `propose → spec → design → tasks → apply → archive`, backed by a PostgreSQL/pgvector semantic memory store. This CLI wires your project's AI tools to that server in seconds.
|
|
6
|
+
|
|
7
|
+
## Prerequisites
|
|
8
|
+
|
|
9
|
+
- Node.js ≥ 18
|
|
10
|
+
- A running OpenSddRag MCP server (see [server setup](#server-setup))
|
|
11
|
+
|
|
12
|
+
## Installation
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
# one-off, no install needed
|
|
16
|
+
npx opensddrag init
|
|
17
|
+
|
|
18
|
+
# or install globally
|
|
19
|
+
npm install -g opensddrag
|
|
20
|
+
opensddrag init
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Quick Start
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
# 1. Start the OpenSddRag server (Docker)
|
|
27
|
+
docker compose up -d # runs on http://localhost:8000
|
|
28
|
+
|
|
29
|
+
# 2. Inside your project, connect it
|
|
30
|
+
cd my-project
|
|
31
|
+
npx opensddrag init
|
|
32
|
+
|
|
33
|
+
# 3. Open the project in Claude Code — the MCP server is ready
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
The `init` command registers your project on the server, writes MCP config files, installs SDD slash commands, and appends a section to `CLAUDE.md`.
|
|
37
|
+
|
|
38
|
+
## Commands
|
|
39
|
+
|
|
40
|
+
### `opensddrag init`
|
|
41
|
+
|
|
42
|
+
Connect the current directory to an OpenSddRag MCP server.
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
Options:
|
|
46
|
+
--server <url> Server URL (default: http://localhost:8000)
|
|
47
|
+
--project <slug> Project slug (default: directory name)
|
|
48
|
+
--name <name> Project display name
|
|
49
|
+
--api-key <key> API key for password-protected servers
|
|
50
|
+
--tools <list> AI tools to configure: claude, opencode (default: ask)
|
|
51
|
+
--yes Skip all confirmation prompts
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
**Examples**
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
# Interactive — prompts for all values
|
|
58
|
+
npx opensddrag init
|
|
59
|
+
|
|
60
|
+
# Non-interactive — CI / scripted setup
|
|
61
|
+
npx opensddrag init --server http://localhost:8000 --project my-app --yes
|
|
62
|
+
|
|
63
|
+
# Remote server with an API key
|
|
64
|
+
npx opensddrag init --server https://sdd.example.com --api-key sk-... --yes
|
|
65
|
+
|
|
66
|
+
# Configure only OpenCode (skip Claude Code)
|
|
67
|
+
npx opensddrag init --tools opencode
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
**What gets created in your project**
|
|
71
|
+
|
|
72
|
+
| Path | Purpose |
|
|
73
|
+
|---|---|
|
|
74
|
+
| `.mcp.json` | Claude Code MCP server entry (`type: http`) |
|
|
75
|
+
| `opencode.json` | OpenCode MCP server entry (only with `--tools opencode`) |
|
|
76
|
+
| `.claude/skills/opensddrag-*/SKILL.md` | One skill file per SDD command |
|
|
77
|
+
| `.agents/skills/opensddrag-*/SKILL.md` | Same skills for agent-native tooling |
|
|
78
|
+
| `.opencode/skills/opensddrag-*/SKILL.md` | OpenCode-native skills (when selected) |
|
|
79
|
+
| `.claude/commands/opsr/*.md` | Claude Code slash commands |
|
|
80
|
+
| `.opencode/commands/opsr/*.md` | OpenCode slash commands (when selected) |
|
|
81
|
+
| `CLAUDE.md` | OpenSddRag section appended (or file created) |
|
|
82
|
+
| `opensddrag.yaml` | Local project marker (`project` + `server`) |
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
### `opensddrag status`
|
|
87
|
+
|
|
88
|
+
Check whether the current project is correctly wired to the server.
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
npx opensddrag status
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Reports:
|
|
95
|
+
- `opensddrag.yaml` — local config found
|
|
96
|
+
- Skills — how many of the 13 expected skill files are present
|
|
97
|
+
- `.mcp.json` / `opencode.json` — MCP server entry
|
|
98
|
+
- Slash commands — which `/opsr:*` commands are installed
|
|
99
|
+
- `CLAUDE.md` — whether the OpenSddRag section exists
|
|
100
|
+
- Server — live health check + project registration confirmation
|
|
101
|
+
|
|
102
|
+
## SDD Slash Commands
|
|
103
|
+
|
|
104
|
+
After `init`, the following slash commands are available inside Claude Code (prefix `/opsr:`):
|
|
105
|
+
|
|
106
|
+
| Command | When to use |
|
|
107
|
+
|---|---|
|
|
108
|
+
| `/opsr:propose` | Capture intent and scope — start here |
|
|
109
|
+
| `/opsr:spec` | Formalize requirements (Purpose / SHALL / Scenarios) |
|
|
110
|
+
| `/opsr:design` | Document technical decisions and trade-offs |
|
|
111
|
+
| `/opsr:tasks` | Break a spec into atomic tasks (< 4 h each) |
|
|
112
|
+
| `/opsr:apply` | Implement the next pending task against spec criteria |
|
|
113
|
+
| `/opsr:verify` | Confirm a task is done and acceptance criteria are met |
|
|
114
|
+
| `/opsr:sync` | Merge delta specs after mid-flight design changes |
|
|
115
|
+
| `/opsr:archive` | Mark a completed feature as archived |
|
|
116
|
+
| `/opsr:explore` | Explore and investigate before committing to a plan |
|
|
117
|
+
| `/opsr:continue` | Resume the last in-progress artifact |
|
|
118
|
+
| `/opsr:status` | Show what is in progress and what is done |
|
|
119
|
+
| `/opsr:flow` | Run the full SDD flow end-to-end for a feature |
|
|
120
|
+
| `/opsr:search` | Semantic search over specs and past work |
|
|
121
|
+
|
|
122
|
+
## Server Setup
|
|
123
|
+
|
|
124
|
+
The MCP server is a separate Python package (`opensddrag` on PyPI) that requires PostgreSQL with the pgvector extension.
|
|
125
|
+
|
|
126
|
+
**Docker (recommended)**
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
# Clone the repo or copy docker-compose.yml
|
|
130
|
+
git clone https://github.com/conexaoelite/OpenSddRag
|
|
131
|
+
cd OpenSddRag
|
|
132
|
+
docker compose up -d
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
The server starts on `http://localhost:8000`. The database runs on `localhost:54326`.
|
|
136
|
+
|
|
137
|
+
**Local (development)**
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
cd mcp-server
|
|
141
|
+
cp .env.example .env
|
|
142
|
+
uv pip install -e .
|
|
143
|
+
opensddrag init # run migrations + seed global SDD skills
|
|
144
|
+
opensddrag server start --transport sse --port 8000
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## License
|
|
148
|
+
|
|
149
|
+
MIT
|