@wildorder/nightshift 0.1.0 → 0.3.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/dist/cli.js +252 -10
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +4 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +7 -0
- package/dist/config.js.map +1 -1
- package/dist/decision-ledger.d.ts +68 -0
- package/dist/decision-ledger.d.ts.map +1 -0
- package/dist/decision-ledger.js +108 -0
- package/dist/decision-ledger.js.map +1 -0
- package/dist/decision.d.ts +59 -0
- package/dist/decision.d.ts.map +1 -0
- package/dist/decision.js +0 -0
- package/dist/decision.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/init-project.d.ts +18 -0
- package/dist/init-project.d.ts.map +1 -0
- package/dist/init-project.js +259 -0
- package/dist/init-project.js.map +1 -0
- package/dist/install-prefs.d.ts +17 -0
- package/dist/install-prefs.d.ts.map +1 -0
- package/dist/install-prefs.js +55 -0
- package/dist/install-prefs.js.map +1 -0
- package/dist/install-skills.d.ts +83 -0
- package/dist/install-skills.d.ts.map +1 -0
- package/dist/install-skills.js +311 -0
- package/dist/install-skills.js.map +1 -0
- package/dist/install-wizard.d.ts +56 -0
- package/dist/install-wizard.d.ts.map +1 -0
- package/dist/install-wizard.js +166 -0
- package/dist/install-wizard.js.map +1 -0
- package/dist/manifest.d.ts +76 -0
- package/dist/manifest.d.ts.map +1 -0
- package/dist/manifest.js +95 -0
- package/dist/manifest.js.map +1 -0
- package/dist/package-assets.d.ts +3 -0
- package/dist/package-assets.d.ts.map +1 -0
- package/dist/package-assets.js +13 -0
- package/dist/package-assets.js.map +1 -0
- package/dist/run-program.d.ts +72 -0
- package/dist/run-program.d.ts.map +1 -0
- package/dist/run-program.js +482 -0
- package/dist/run-program.js.map +1 -0
- package/dist/skill-roots.d.ts +51 -0
- package/dist/skill-roots.d.ts.map +1 -0
- package/dist/skill-roots.js +181 -0
- package/dist/skill-roots.js.map +1 -0
- package/package.json +3 -1
- package/skills/init-project/SKILL.md +196 -0
- package/skills/plan-program/SKILL.md +274 -0
- package/templates/AGENTS.md +29 -0
- package/templates/CLAUDE.md +7 -0
- package/templates/universal-directives.md +50 -0
- package/templates/vision.md +46 -0
package/dist/manifest.js
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { readFile, writeFile } from "node:fs/promises";
|
|
2
|
+
import { join, resolve } from "node:path";
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
/**
|
|
5
|
+
* The program manifest: the single canonical home for success criteria, the
|
|
6
|
+
* workstream roster, dependencies, and scope. `/plan-program` writes it; the
|
|
7
|
+
* runner reads it and writes workstream status back. Narrative belongs in
|
|
8
|
+
* the program document, never here — one canonical home per fact.
|
|
9
|
+
*/
|
|
10
|
+
export const WORKSTREAM_STATUSES = [
|
|
11
|
+
"not_started",
|
|
12
|
+
"in_progress",
|
|
13
|
+
"complete",
|
|
14
|
+
"failed",
|
|
15
|
+
"parked",
|
|
16
|
+
];
|
|
17
|
+
const scopeSchema = z.object({
|
|
18
|
+
summary: z.string().min(1),
|
|
19
|
+
includes: z.array(z.string()).default([]),
|
|
20
|
+
excludes: z.array(z.string()).default([]),
|
|
21
|
+
});
|
|
22
|
+
const workstreamSchema = z.object({
|
|
23
|
+
id: z.string().min(1),
|
|
24
|
+
name: z.string().min(1),
|
|
25
|
+
taskFile: z.string().min(1),
|
|
26
|
+
status: z.enum(WORKSTREAM_STATUSES).default("not_started"),
|
|
27
|
+
size: z.string().optional(),
|
|
28
|
+
scope: scopeSchema.optional(),
|
|
29
|
+
dependencies: z.array(z.string()).default([]),
|
|
30
|
+
packages: z.array(z.string()).default([]),
|
|
31
|
+
});
|
|
32
|
+
const manifestSchema = z
|
|
33
|
+
.object({
|
|
34
|
+
program: z
|
|
35
|
+
.object({
|
|
36
|
+
id: z.string().min(1),
|
|
37
|
+
name: z.string().min(1),
|
|
38
|
+
description: z.string().optional(),
|
|
39
|
+
status: z.string().optional(),
|
|
40
|
+
created: z.string().optional(),
|
|
41
|
+
executionMode: z.enum(["atomic", "orchestrated"]).optional(),
|
|
42
|
+
executionModeReason: z.string().optional(),
|
|
43
|
+
})
|
|
44
|
+
.loose(),
|
|
45
|
+
successCriteria: z
|
|
46
|
+
.array(z.object({ id: z.string().min(1), description: z.string().min(1) }).loose())
|
|
47
|
+
.default([]),
|
|
48
|
+
packages: z.array(z.record(z.string(), z.unknown())).default([]),
|
|
49
|
+
workstreams: z.array(workstreamSchema.loose()).min(1),
|
|
50
|
+
outOfScope: z.array(z.string()).default([]),
|
|
51
|
+
})
|
|
52
|
+
.loose();
|
|
53
|
+
export function manifestPath(root, programId) {
|
|
54
|
+
return join(resolve(root), "docs", "programs", `${programId}-manifest.json`);
|
|
55
|
+
}
|
|
56
|
+
export async function loadManifest(root, programId) {
|
|
57
|
+
const path = manifestPath(root, programId);
|
|
58
|
+
let raw;
|
|
59
|
+
try {
|
|
60
|
+
raw = await readFile(path, "utf8");
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
throw new Error(`No manifest at ${path}. Plan the program first with /plan-program.`);
|
|
64
|
+
}
|
|
65
|
+
let parsed;
|
|
66
|
+
try {
|
|
67
|
+
parsed = JSON.parse(raw);
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
throw new Error(`${path} is not valid JSON: ${error.message}`, {
|
|
71
|
+
cause: error,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
const result = manifestSchema.safeParse(parsed);
|
|
75
|
+
if (!result.success) {
|
|
76
|
+
const issues = result.error.issues
|
|
77
|
+
.map((issue) => `${issue.path.join(".") || "(root)"}: ${issue.message}`)
|
|
78
|
+
.join("; ");
|
|
79
|
+
throw new Error(`${path} is invalid: ${issues}`);
|
|
80
|
+
}
|
|
81
|
+
const manifest = result.data;
|
|
82
|
+
const ids = new Set(manifest.workstreams.map(({ id }) => id));
|
|
83
|
+
for (const workstream of manifest.workstreams) {
|
|
84
|
+
for (const dependency of workstream.dependencies) {
|
|
85
|
+
if (!ids.has(dependency)) {
|
|
86
|
+
throw new Error(`${path}: ${workstream.id} depends on unknown workstream "${dependency}"`);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return manifest;
|
|
91
|
+
}
|
|
92
|
+
export async function saveManifest(root, programId, manifest) {
|
|
93
|
+
await writeFile(manifestPath(root, programId), `${JSON.stringify(manifest, null, 2)}\n`, "utf8");
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=manifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-assets.d.ts","sourceRoot":"","sources":["../src/package-assets.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,YAAY,QAGxB,CAAC;AAMF,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAKtD"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { readFile } from "node:fs/promises";
|
|
2
|
+
import { dirname, resolve } from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
import { z } from "zod";
|
|
5
|
+
export const PACKAGE_ROOT = resolve(dirname(fileURLToPath(import.meta.url)), "..");
|
|
6
|
+
const packageMetadataSchema = z.object({
|
|
7
|
+
version: z.string().min(1),
|
|
8
|
+
});
|
|
9
|
+
export async function packageVersion() {
|
|
10
|
+
const metadata = JSON.parse(await readFile(resolve(PACKAGE_ROOT, "package.json"), "utf8"));
|
|
11
|
+
return packageMetadataSchema.parse(metadata).version;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=package-assets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-assets.js","sourceRoot":"","sources":["../src/package-assets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CACjC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EACvC,IAAI,CACL,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC3B,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,QAAQ,GAAY,IAAI,CAAC,KAAK,CAClC,MAAM,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAC9D,CAAC;IACF,OAAO,qBAAqB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;AACvD,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { type AgentRunner, type VerifyRunner } from "./agent-runner.js";
|
|
2
|
+
import type { NightshiftConfig } from "./config.js";
|
|
3
|
+
import { type DecisionRecord } from "./decision-ledger.js";
|
|
4
|
+
import { type Workstream } from "./manifest.js";
|
|
5
|
+
/**
|
|
6
|
+
* Git operations the runner needs, injectable so tests drive a real
|
|
7
|
+
* temporary repository or a fake. The runner owns commits — workstream
|
|
8
|
+
* agents are instructed never to commit — and every decision is anchored to
|
|
9
|
+
* the commit that preceded it so a human can replay from there.
|
|
10
|
+
*/
|
|
11
|
+
export interface GitOps {
|
|
12
|
+
isRepository(cwd: string): Promise<boolean>;
|
|
13
|
+
currentCommit(cwd: string): Promise<string | undefined>;
|
|
14
|
+
/** Stages everything and commits; undefined result means nothing to commit. */
|
|
15
|
+
commitAll(cwd: string, message: string): Promise<string | undefined>;
|
|
16
|
+
diffSince(cwd: string, commit: string): Promise<string>;
|
|
17
|
+
}
|
|
18
|
+
export declare const defaultGitOps: GitOps;
|
|
19
|
+
export interface RunProgramOptions {
|
|
20
|
+
cwd: string;
|
|
21
|
+
programId: string;
|
|
22
|
+
config: NightshiftConfig;
|
|
23
|
+
agentRunner?: AgentRunner;
|
|
24
|
+
verifyRunner?: VerifyRunner;
|
|
25
|
+
git?: GitOps;
|
|
26
|
+
log?: (line: string) => void;
|
|
27
|
+
now?: () => Date;
|
|
28
|
+
}
|
|
29
|
+
export type WorkstreamOutcome = {
|
|
30
|
+
status: "complete";
|
|
31
|
+
commit?: string;
|
|
32
|
+
} | {
|
|
33
|
+
status: "failed";
|
|
34
|
+
reason: string;
|
|
35
|
+
} | {
|
|
36
|
+
status: "parked";
|
|
37
|
+
reason: string;
|
|
38
|
+
} | {
|
|
39
|
+
status: "skipped";
|
|
40
|
+
reason: string;
|
|
41
|
+
};
|
|
42
|
+
export interface WorkstreamResult {
|
|
43
|
+
id: string;
|
|
44
|
+
name: string;
|
|
45
|
+
outcome: WorkstreamOutcome;
|
|
46
|
+
summary?: string;
|
|
47
|
+
decisionIds: string[];
|
|
48
|
+
/** Decision blocks the agent garbled; surfaced, never fatal. */
|
|
49
|
+
decisionErrors: string[];
|
|
50
|
+
}
|
|
51
|
+
export interface RunProgramResult {
|
|
52
|
+
programId: string;
|
|
53
|
+
/** True when every workstream is complete. */
|
|
54
|
+
complete: boolean;
|
|
55
|
+
workstreams: WorkstreamResult[];
|
|
56
|
+
escalations: DecisionRecord[];
|
|
57
|
+
reportPath: string;
|
|
58
|
+
}
|
|
59
|
+
/** Every workstream in the transitive downstream cone of the given ids. */
|
|
60
|
+
export declare function downstreamCone(workstreams: readonly Workstream[], rootIds: readonly string[]): Set<string>;
|
|
61
|
+
/**
|
|
62
|
+
* The decide-and-continue runner.
|
|
63
|
+
*
|
|
64
|
+
* A run always terminates: either everything built, or the failures are
|
|
65
|
+
* parked with a diagnosis while everything outside their downstream cones
|
|
66
|
+
* built anyway. Decisions agents surface are journaled with the commit that
|
|
67
|
+
* preceded them, reviewed by the decider when one is configured, and
|
|
68
|
+
* reported — the run never stops to ask. The runner owns commits, runs the
|
|
69
|
+
* verify commands itself, and writes the run report last, whatever happened.
|
|
70
|
+
*/
|
|
71
|
+
export declare function runProgram(options: RunProgramOptions): Promise<RunProgramResult>;
|
|
72
|
+
//# sourceMappingURL=run-program.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-program.d.ts","sourceRoot":"","sources":["../src/run-program.ts"],"names":[],"mappings":"AAIA,OAAO,EAQL,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAe,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAOjE,OAAO,EAGL,KAAK,cAAc,EAEpB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAIL,KAAK,UAAU,EAChB,MAAM,eAAe,CAAC;AAIvB;;;;;GAKG;AACH,MAAM,WAAW,MAAM;IACrB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5C,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACxD,+EAA+E;IAC/E,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACrE,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACzD;AAED,eAAO,MAAM,aAAa,EAAE,MA6C3B,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,gBAAgB,CAAC;IACzB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,MAAM,MAAM,iBAAiB,GACzB;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1C,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,iBAAiB,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,gEAAgE;IAChE,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;CACpB;AAgJD,2EAA2E;AAC3E,wBAAgB,cAAc,CAC5B,WAAW,EAAE,SAAS,UAAU,EAAE,EAClC,OAAO,EAAE,SAAS,MAAM,EAAE,GACzB,GAAG,CAAC,MAAM,CAAC,CAeb;AAED;;;;;;;;;GASG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,gBAAgB,CAAC,CAiT3B"}
|