sprinty-mcp 0.1.4 → 0.1.5
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 +8 -4
- package/clients/claude/.claude-plugin/plugin.json +1 -1
- package/clients/codex/README.md +5 -3
- package/clients/gemini/GEMINI.md +4 -1
- package/clients/gemini/gemini-extension.json +1 -1
- package/dist/server.js +6 -2
- package/dist/server.js.map +1 -1
- package/dist/tools/register.d.ts +2 -1
- package/dist/tools/register.js +57 -1
- package/dist/tools/register.js.map +1 -1
- package/dist/tools/schemas.d.ts +18 -0
- package/dist/tools/schemas.js +8 -0
- package/dist/tools/schemas.js.map +1 -1
- package/package.json +1 -1
- package/skills/how-to-run-a-sprint/SKILL.md +9 -2
- package/skills/using-sprinty/SKILL.md +8 -0
package/README.md
CHANGED
|
@@ -61,10 +61,13 @@ Sprinty does not guess from the MCP server process cwd. Start a sprint with expl
|
|
|
61
61
|
`git_dir` is where commits, gates, coverage, and change maps run. `data_dir` is where Sprinty stores
|
|
62
62
|
the `current` pointer and append-only JSONL ledgers. Use a worktree-scoped, uncommitted `data_dir`,
|
|
63
63
|
such as `<git_dir>/.sprinty` when that path is gitignored; avoid shared temp dirs or any directory
|
|
64
|
-
that will be committed.
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
64
|
+
that will be committed. After a Codex/MCP restart, call `sprint_list(data_dir)` to inspect the
|
|
65
|
+
existing ledgers and `sprint_resume(git_dir, data_dir)` to reattach without creating a sprint.
|
|
66
|
+
Use `sprint_detach()` to clear a process binding before resuming another sprint. For read-only
|
|
67
|
+
tools before `sprint_new`, you may also pre-bind the MCP server with `SPRINTY_GIT_DIR` and
|
|
68
|
+
`SPRINTY_DATA_DIR` or `--git-dir` and `--data-dir`; both are required together.
|
|
69
|
+
`SPRINTY_REPO_DIR` and `SPRINTY_WORKTREE` remain accepted as legacy aliases for `git_dir` only when
|
|
70
|
+
a `data_dir` is also supplied.
|
|
68
71
|
|
|
69
72
|
Codex CLI plugin path: install the repo-local marketplace from a repository checkout:
|
|
70
73
|
|
|
@@ -95,6 +98,7 @@ content rather than copying it.
|
|
|
95
98
|
## The loop
|
|
96
99
|
|
|
97
100
|
```
|
|
101
|
+
sprint_list(data_dir?) -> sprint_resume(git_dir, data_dir) | sprint_detach()
|
|
98
102
|
sprint_new(goal, git_dir, data_dir, context_notes?)
|
|
99
103
|
-> dashboard()
|
|
100
104
|
-> subsprint_new(description, goals[], gates[], dependencies?)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sprinty",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"description": "Disciplined sprint workflow: dashboard-at-start, feature subsprints, artifacts, bug-id follow-ups, spike investigations, an immutable git-anchored ledger, and programmatic close gates.",
|
|
5
5
|
"author": { "name": "Elie Bursztein" },
|
|
6
6
|
"homepage": "https://github.com/ebursztein/sprinty",
|
package/clients/codex/README.md
CHANGED
|
@@ -32,9 +32,11 @@ codex mcp add sprinty -- npx -y sprinty-mcp
|
|
|
32
32
|
|
|
33
33
|
Sprinty does not infer state from Codex's MCP launch cwd. Start every sprint with explicit
|
|
34
34
|
`git_dir` and `data_dir`; `git_dir` is where commits, gates, coverage, and change maps run, while
|
|
35
|
-
`data_dir` stores the `current` pointer and JSONL ledgers.
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
`data_dir` stores the `current` pointer and JSONL ledgers. After a Codex/MCP restart, call
|
|
36
|
+
`sprint_list(data_dir)` and then `sprint_resume(git_dir, data_dir)` to reattach without creating a
|
|
37
|
+
new sprint. Use `sprint_detach()` before switching one MCP process to another sprint. For read-only
|
|
38
|
+
tools before `sprint_new`, you may pre-bind with both `SPRINTY_GIT_DIR` and `SPRINTY_DATA_DIR` or
|
|
39
|
+
both `--git-dir` and `--data-dir`.
|
|
38
40
|
|
|
39
41
|
Do not copy skill files into client directories; keep them in the top-level `skills/` directory.
|
|
40
42
|
|
package/clients/gemini/GEMINI.md
CHANGED
|
@@ -5,6 +5,7 @@ When a task is non-trivial, run a disciplined sprint with the sprinty MCP.
|
|
|
5
5
|
See `skills/how-to-run-a-sprint` and `skills/using-sprinty`. The loop:
|
|
6
6
|
|
|
7
7
|
```
|
|
8
|
+
sprint_list(data_dir?) -> sprint_resume(git_dir, data_dir) | sprint_detach()
|
|
8
9
|
sprint_new(goal, git_dir, data_dir, context_notes?)
|
|
9
10
|
-> dashboard()
|
|
10
11
|
-> subsprint_new(description, goals[], gates[], dependencies?)
|
|
@@ -21,7 +22,9 @@ sprint_new(goal, git_dir, data_dir, context_notes?)
|
|
|
21
22
|
|
|
22
23
|
Rules: IDs are minted by the server (`S01`, `S01-001`) — never invent them. Start with explicit
|
|
23
24
|
absolute `git_dir` and `data_dir`; `git_dir` is where commits/gates/coverage run, and `data_dir`
|
|
24
|
-
stores Sprinty's `current` pointer and JSONL ledgers.
|
|
25
|
+
stores Sprinty's `current` pointer and JSONL ledgers. After a Codex/MCP restart, use
|
|
26
|
+
`sprint_list(data_dir)` and `sprint_resume(git_dir, data_dir)` to reattach without creating a new
|
|
27
|
+
sprint; use `sprint_detach()` before switching one MCP process to another sprint. Every item needs a
|
|
25
28
|
description, at least one code location, and at least one gate. `done` requires a real commit,
|
|
26
29
|
passing evidence for every declared item gate, and a semver-style changelog line with a verb such as
|
|
27
30
|
`added`, `fixed`, or `removed`. `split` and `deprecate` are terminal non-code exits. Each
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sprinty",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"description": "Disciplined sprint workflow with dashboard-at-start, feature subsprints, artifacts, bug-id follow-ups, spike investigations, an immutable git-anchored ledger, and close gates.",
|
|
5
5
|
"contextFileName": "GEMINI.md",
|
|
6
6
|
"mcpServers": {
|
package/dist/server.js
CHANGED
|
@@ -14,7 +14,8 @@ export const SERVER_VERSION = packageJson.version;
|
|
|
14
14
|
const INSTRUCTIONS = `Sprinty enforces a disciplined sprint.
|
|
15
15
|
One sprint per explicit git/data binding. sprint_new requires git_dir and data_dir so Sprinty never guesses from the MCP process cwd.
|
|
16
16
|
Use a worktree-scoped, uncommitted data_dir, such as <git_dir>/.sprinty when it is gitignored; avoid shared temp dirs and committed sprint state.
|
|
17
|
-
The data_dir/current pointer keeps exactly one open sprint for that binding.
|
|
17
|
+
The data_dir/current pointer keeps exactly one open sprint for that binding. After an MCP restart, call sprint_resume(git_dir, data_dir) to reattach to an existing sprint without creating a new one. Use sprint_list(data_dir) to inspect existing ledgers and sprint_detach() to clear the process binding.
|
|
18
|
+
Call info() to orient after binding.
|
|
18
19
|
Build is item-driven: sprint_new(goal, git_dir, data_dir, context_notes?) -> dashboard() for the human -> subsprint_new(..., dependencies?)
|
|
19
20
|
-> add(title + description + code_locations + gates, dependencies?) -> done(commit + passing gates + changelog)
|
|
20
21
|
| split(promote to a subsprint) | deprecate(reason). Use dependencies(target, dependencies[]) to add graph edges later.
|
|
@@ -44,6 +45,9 @@ export async function main() {
|
|
|
44
45
|
store = next;
|
|
45
46
|
return store;
|
|
46
47
|
};
|
|
48
|
+
const detachStore = () => {
|
|
49
|
+
store = undefined;
|
|
50
|
+
};
|
|
47
51
|
const openDashboard = async () => {
|
|
48
52
|
const store = getStore();
|
|
49
53
|
if (!dashboard) {
|
|
@@ -65,7 +69,7 @@ export async function main() {
|
|
|
65
69
|
dashboard = undefined;
|
|
66
70
|
await running.stop();
|
|
67
71
|
};
|
|
68
|
-
const handlers = buildToolHandlers(getStore, openDashboard, bindStore, closeDashboard);
|
|
72
|
+
const handlers = buildToolHandlers(getStore, openDashboard, bindStore, closeDashboard, detachStore);
|
|
69
73
|
for (const [name, d] of Object.entries(handlers)) {
|
|
70
74
|
server.registerTool(name, { description: d.description, inputSchema: d.schema.shape }, async (args) => {
|
|
71
75
|
try {
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAkB,MAAM,uBAAuB,CAAC;AAEvE,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AACtE,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC;AAElD,MAAM,YAAY,GAAG
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/register.d.ts
CHANGED
|
@@ -11,4 +11,5 @@ export type StoreBinder = (binding: {
|
|
|
11
11
|
git_dir: string;
|
|
12
12
|
data_dir: string;
|
|
13
13
|
}) => SprintStore | Promise<SprintStore>;
|
|
14
|
-
export
|
|
14
|
+
export type StoreDetacher = () => void | Promise<void>;
|
|
15
|
+
export declare function buildToolHandlers(getStore: StoreProvider, openDashboard: () => Promise<string>, bindStore?: StoreBinder, closeDashboard?: () => Promise<void> | void, detachStore?: StoreDetacher): ToolHandlers;
|
package/dist/tools/register.js
CHANGED
|
@@ -1,13 +1,32 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import { existsSync, readdirSync, readFileSync } from "node:fs";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
import { project } from "../domain/projection.js";
|
|
2
5
|
import { SprintStore } from "../store/store.js";
|
|
3
6
|
import { windowCurrent } from "./current.js";
|
|
4
7
|
import * as S from "./schemas.js";
|
|
5
8
|
function def(schema, description, run) {
|
|
6
9
|
return { description, schema, handler: async (raw) => run(schema.parse(raw)) };
|
|
7
10
|
}
|
|
8
|
-
export function buildToolHandlers(getStore, openDashboard, bindStore = async () => getStore(), closeDashboard = () => undefined) {
|
|
11
|
+
export function buildToolHandlers(getStore, openDashboard, bindStore = async () => getStore(), closeDashboard = () => undefined, detachStore = () => undefined) {
|
|
9
12
|
return {
|
|
10
13
|
sprint_new: def(S.SprintNewInput, "Start a sprint with explicit git_dir and a worktree-scoped, uncommitted data_dir; returns orientation.", async (i) => ({ ...(await bindStore({ git_dir: i.git_dir, data_dir: i.data_dir })).createSprint(i.goal, i.context_notes), orientation: orientation() })),
|
|
14
|
+
sprint_resume: def(S.SprintResumeInput, "Resume an existing sprint by binding this MCP session to an existing git_dir and data_dir without creating a sprint.", async (i) => ({ ...(await bindStore({ git_dir: i.git_dir, data_dir: i.data_dir })).read(), orientation: orientation() })),
|
|
15
|
+
sprint_detach: def(S.SprintDetachInput, "Detach this MCP session from its current Sprinty binding and stop the dashboard.", async () => {
|
|
16
|
+
await closeDashboard();
|
|
17
|
+
await detachStore();
|
|
18
|
+
return { detached: true };
|
|
19
|
+
}),
|
|
20
|
+
sprint_list: def(S.SprintListInput, "List existing sprint ledgers in a data_dir, or the current binding when already attached.", async (i) => {
|
|
21
|
+
if (i.data_dir)
|
|
22
|
+
return listSprints(i.data_dir);
|
|
23
|
+
try {
|
|
24
|
+
return listSprints((await getStore()).dataDir);
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
return { current: null, sprints: [], hint: "Pass data_dir to inspect existing Sprinty ledgers while this MCP session is unbound." };
|
|
28
|
+
}
|
|
29
|
+
}),
|
|
11
30
|
sprint_close: def(S.SprintCloseInput, "Close the sprint after a programmatic re-check of all gates.", async (i) => {
|
|
12
31
|
const view = (await getStore()).closeSprint(i);
|
|
13
32
|
await closeDashboard();
|
|
@@ -51,4 +70,41 @@ function orientation() {
|
|
|
51
70
|
"After sprint_new, call dashboard() and show the localhost URL to the human. Resolve every item, then sprint_close re-runs gates.",
|
|
52
71
|
};
|
|
53
72
|
}
|
|
73
|
+
function listSprints(dataDir) {
|
|
74
|
+
const current = readCurrent(dataDir);
|
|
75
|
+
if (!existsSync(dataDir))
|
|
76
|
+
return { data_dir: dataDir, current, sprints: [] };
|
|
77
|
+
const sprints = readdirSync(dataDir)
|
|
78
|
+
.map((file) => /^(\d+)\.jsonl$/.exec(file)?.[1])
|
|
79
|
+
.filter((id) => Boolean(id))
|
|
80
|
+
.sort()
|
|
81
|
+
.map((id) => {
|
|
82
|
+
const events = readFileSync(join(dataDir, `${id}.jsonl`), "utf8")
|
|
83
|
+
.split(/\r?\n/)
|
|
84
|
+
.filter((line) => line.trim().length > 0)
|
|
85
|
+
.map((line) => JSON.parse(line));
|
|
86
|
+
const view = project(events);
|
|
87
|
+
if (!view)
|
|
88
|
+
throw new Error(`Sprint ledger ${id} in ${dataDir} is empty or unreadable.`);
|
|
89
|
+
return {
|
|
90
|
+
id,
|
|
91
|
+
goal: view.goal,
|
|
92
|
+
status: view.status,
|
|
93
|
+
created_at: view.created_at,
|
|
94
|
+
closed_at: view.closed_at,
|
|
95
|
+
worktree: view.worktree,
|
|
96
|
+
branch: view.branch,
|
|
97
|
+
dir: view.dir,
|
|
98
|
+
data_dir: view.data_dir,
|
|
99
|
+
};
|
|
100
|
+
});
|
|
101
|
+
return { data_dir: dataDir, current, sprints };
|
|
102
|
+
}
|
|
103
|
+
function readCurrent(dataDir) {
|
|
104
|
+
const pointer = join(dataDir, "current");
|
|
105
|
+
if (!existsSync(pointer))
|
|
106
|
+
return null;
|
|
107
|
+
const id = readFileSync(pointer, "utf8").trim();
|
|
108
|
+
return id.length > 0 ? id : null;
|
|
109
|
+
}
|
|
54
110
|
//# sourceMappingURL=register.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/tools/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAQlC,SAAS,GAAG,CACV,MAAU,EACV,WAAmB,EACnB,GAAuD;IAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;AACjF,CAAC;
|
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/tools/register.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/schemas.d.ts
CHANGED
|
@@ -35,6 +35,24 @@ export declare const SprintNewInput: z.ZodObject<{
|
|
|
35
35
|
git_dir: string;
|
|
36
36
|
context_notes?: string[] | undefined;
|
|
37
37
|
}>;
|
|
38
|
+
export declare const SprintResumeInput: z.ZodObject<{
|
|
39
|
+
git_dir: z.ZodString;
|
|
40
|
+
data_dir: z.ZodString;
|
|
41
|
+
}, "strip", z.ZodTypeAny, {
|
|
42
|
+
data_dir: string;
|
|
43
|
+
git_dir: string;
|
|
44
|
+
}, {
|
|
45
|
+
data_dir: string;
|
|
46
|
+
git_dir: string;
|
|
47
|
+
}>;
|
|
48
|
+
export declare const SprintDetachInput: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
49
|
+
export declare const SprintListInput: z.ZodObject<{
|
|
50
|
+
data_dir: z.ZodOptional<z.ZodString>;
|
|
51
|
+
}, "strip", z.ZodTypeAny, {
|
|
52
|
+
data_dir?: string | undefined;
|
|
53
|
+
}, {
|
|
54
|
+
data_dir?: string | undefined;
|
|
55
|
+
}>;
|
|
38
56
|
export declare const SprintCloseInput: z.ZodObject<{
|
|
39
57
|
coverage: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
|
|
40
58
|
path: z.ZodString;
|
package/dist/tools/schemas.js
CHANGED
|
@@ -15,6 +15,14 @@ export const SprintNewInput = z.object({
|
|
|
15
15
|
data_dir: z.string().min(1),
|
|
16
16
|
context_notes: z.array(z.string().min(1)).default([]),
|
|
17
17
|
});
|
|
18
|
+
export const SprintResumeInput = z.object({
|
|
19
|
+
git_dir: z.string().min(1),
|
|
20
|
+
data_dir: z.string().min(1),
|
|
21
|
+
});
|
|
22
|
+
export const SprintDetachInput = z.object({});
|
|
23
|
+
export const SprintListInput = z.object({
|
|
24
|
+
data_dir: z.string().min(1).optional(),
|
|
25
|
+
});
|
|
18
26
|
export const SprintCloseInput = z.object({ coverage: z.union([CoverageInput, CoverageNotApplicableInput]).optional() });
|
|
19
27
|
export const SprintArchiveInput = z.object({ reason: z.string().min(1) });
|
|
20
28
|
export const ChangelogInput = z.object({});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/tools/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACzB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAClC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACtD,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,0BAA0B,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AACxH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC1E,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC3C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACtC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;CAClD,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACrD,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,iBAAiB,CAAC;AAC5C,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC5G,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAEzG,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAChC,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC;AACjC,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AACvC,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAExC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE;IACtF,OAAO,EAAE,oGAAoG;CAC9G,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;IAC1C,OAAO,EAAE,kCAAkC;CAC5C,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,oBAAoB,EAAE;IACxG,OAAO,EAAE,8GAA8G;CACxH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,KAAK,EAAE,cAAc;IACrB,WAAW,EAAE,oBAAoB;IACjC,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACjD,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACrD,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC5F,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,SAAS,EAAE,cAAc;CAC1B,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACrD,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC/F,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC3F,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC3C,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CACrD,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpC,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CAC/C,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,IAAI,EAAE,YAAY,CAAC,QAAQ,EAAE;IAC7B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACnC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACjC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CACrD,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC3G,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC3C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC/C,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CAChD,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;CACzD,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/tools/schemas.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -14,8 +14,12 @@ write prose plans, you create structured items the sprinty MCP records in an imm
|
|
|
14
14
|
absolute paths. `git_dir` is where commits, gates, coverage, and change maps run. `data_dir` is
|
|
15
15
|
where Sprinty stores the `current` pointer and JSONL ledgers. Make `data_dir` worktree-scoped and
|
|
16
16
|
uncommitted, such as `<git_dir>/.sprinty` when that path is gitignored; avoid shared temp dirs.
|
|
17
|
-
Do not guess from the MCP cwd or workspace roots. Returns the skills to use and a primer.
|
|
18
|
-
|
|
17
|
+
Do not guess from the MCP cwd or workspace roots. Returns the skills to use and a primer. After a
|
|
18
|
+
Codex/MCP restart, do not call `sprint_new` just to make the server notice an existing ledger:
|
|
19
|
+
call **`sprint_list(data_dir)`** to inspect the known ledger directory, then
|
|
20
|
+
**`sprint_resume(git_dir, data_dir)`** to reattach without creating a sprint. Use
|
|
21
|
+
**`sprint_detach()`** before switching one MCP process to another sprint. Call **`info()`** any
|
|
22
|
+
time to re-orient after binding; it must show the expected `dir` and `data_dir`. Then call
|
|
19
23
|
**`dashboard()`** and show the localhost URL to the human so they can follow the sprint.
|
|
20
24
|
2. **`subsprint_new(description, goals[], gates[], dependencies?)`** — carve the work into a goal-bearing unit.
|
|
21
25
|
Each subsprint should be one feature, not a loose phase or miscellaneous bucket. A gate is
|
|
@@ -63,6 +67,9 @@ write prose plans, you create structured items the sprinty MCP records in an imm
|
|
|
63
67
|
- Never invent an id. The server mints `S01`, `S01-001`. Read them back from tool results.
|
|
64
68
|
- Start with explicit `git_dir` and a worktree-scoped, uncommitted `data_dir`; if `info()` reports
|
|
65
69
|
the wrong paths, stop before adding items.
|
|
70
|
+
- After Codex or the MCP server restarts, resume with `sprint_list(data_dir)` and
|
|
71
|
+
`sprint_resume(git_dir, data_dir)`; never use a rejected `sprint_new` call as a binding trick.
|
|
72
|
+
- Use `sprint_detach()` to clear the current MCP process binding before resuming a different sprint.
|
|
66
73
|
- No item without a short title, bounded description, at least one code location, and at least one gate.
|
|
67
74
|
- Keep items atomic. If the title needs "and", "plus", or multiple deliverables, split it before
|
|
68
75
|
adding it. Oversized `add()` calls are rejected with a nudge to use `split()` or smaller items.
|
|
@@ -7,6 +7,9 @@ description: Reference for the sprinty MCP tools — exact inputs, what each ret
|
|
|
7
7
|
|
|
8
8
|
| Tool | Input | Returns / Rejects |
|
|
9
9
|
|---|---|---|
|
|
10
|
+
| `sprint_list` | `{ data_dir? }` | Lists sprint ledgers in `data_dir` without binding or creating anything, returning `{ current, sprints[] }`. If `data_dir` is omitted, lists the current binding when attached; when unbound, returns an empty list with a hint to pass `data_dir`. Use this after a Codex/MCP restart to inspect known sprint state before resuming. |
|
|
11
|
+
| `sprint_resume` | `{ git_dir, data_dir }` | Binds this MCP process to an existing sprint and returns the sprint view + orientation. Does not create a new sprint. Use after `sprint_list(data_dir)` or when the human gives exact binding paths. Rejects if the MCP process is already bound to different paths, or if the existing sprint cannot be read. |
|
|
12
|
+
| `sprint_detach` | `{}` | Clears this MCP process binding and stops the dashboard, returning `{ detached:true }`. Use before resuming a different sprint in the same MCP process. |
|
|
10
13
|
| `sprint_new` | `{ goal, git_dir, data_dir, context_notes?[] }` | sprint view + orientation. `git_dir` is where commits, gates, coverage, and change maps run. `data_dir` is where Sprinty stores `current` and sprint JSONL ledgers. Both should be absolute paths. Use a worktree-scoped, uncommitted `data_dir`, such as `<git_dir>/.sprinty` when that path is gitignored. Rejects if a sprint is already active. After this, call `dashboard()` and show the URL to the human. |
|
|
11
14
|
| `info` | `{}` | full sprint view (subsprints + items + statuses), including `dir` and `data_dir` so binding mistakes are obvious. Rejects before binding unless the MCP server was started with explicit `SPRINTY_GIT_DIR` and `SPRINTY_DATA_DIR`. |
|
|
12
15
|
| `current` | `{ past?=1, future?=3 }` | last terminal items, `current`, actionable `next`, `blocked_open`, current subsprint notes, dependency graph, and enriched `relations` rows. |
|
|
@@ -84,3 +87,8 @@ same directory naming the active sprint (this enforces one-open-sprint unicity f
|
|
|
84
87
|
Keep `git_dir` and `data_dir` explicit; do not rely on the MCP process cwd, workspace roots, or a
|
|
85
88
|
worktree guess. `data_dir` is local agent state, not source code: scope it to the current worktree
|
|
86
89
|
or repo, keep it out of commits, and avoid shared temp directories that could mix sessions.
|
|
90
|
+
|
|
91
|
+
**Restart recovery:** after Codex or the MCP server restarts, the process may be unbound even though
|
|
92
|
+
the ledger exists. Call `sprint_list(data_dir)` to confirm the ledger and current sprint id, then
|
|
93
|
+
`sprint_resume(git_dir, data_dir)` to reattach. Do not call `sprint_new` as a resume workaround; if
|
|
94
|
+
you need to switch one MCP process from one repo/sprint to another, call `sprint_detach()` first.
|