ralphctl 0.2.5 → 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.
Files changed (55) hide show
  1. package/dist/add-GX7P7XTT.mjs +16 -0
  2. package/dist/add-JGUOR4Z5.mjs +18 -0
  3. package/dist/bootstrap-FMHG6DRY.mjs +11 -0
  4. package/dist/chunk-3QBEBKMZ.mjs +103 -0
  5. package/dist/chunk-4GHVNKLV.mjs +5088 -0
  6. package/dist/{chunk-EDJX7TT6.mjs → chunk-57UWLHRH.mjs} +22 -2
  7. package/dist/chunk-747KW2RW.mjs +24 -0
  8. package/dist/chunk-CDOPLXFK.mjs +5485 -0
  9. package/dist/{chunk-7TG3EAQ2.mjs → chunk-CFUVE2BP.mjs} +1 -5
  10. package/dist/{chunk-IB6OCKZW.mjs → chunk-CTP2A436.mjs} +60 -55
  11. package/dist/{chunk-UBPZHHCD.mjs → chunk-D2YGPLIV.mjs} +84 -41
  12. package/dist/{chunk-QBXHAXHI.mjs → chunk-FKMKOWLA.mjs} +154 -208
  13. package/dist/chunk-HL4ZMHCQ.mjs +261 -0
  14. package/dist/{chunk-OEUJDSHY.mjs → chunk-IWXBJD2D.mjs} +1 -1
  15. package/dist/chunk-JXMHLW42.mjs +227 -0
  16. package/dist/{chunk-EUNAUHC3.mjs → chunk-NUYQK5MN.mjs} +80 -29
  17. package/dist/{chunk-JRFOUFD3.mjs → chunk-YCDUVPRT.mjs} +32 -52
  18. package/dist/cli.mjs +168 -3995
  19. package/dist/create-7WFSCMP4.mjs +15 -0
  20. package/dist/{handle-TA4MYNQJ.mjs → handle-BBAZJ44Y.mjs} +2 -2
  21. package/dist/mount-XZPBDRPZ.mjs +6751 -0
  22. package/dist/{project-YONEJICR.mjs → project-2IE7VWDB.mjs} +9 -5
  23. package/dist/prompts/harness-context.md +3 -3
  24. package/dist/prompts/ideate-auto.md +8 -10
  25. package/dist/prompts/ideate.md +3 -2
  26. package/dist/prompts/plan-auto.md +12 -12
  27. package/dist/prompts/plan-common.md +24 -15
  28. package/dist/prompts/plan-interactive.md +8 -8
  29. package/dist/prompts/signals-evaluation.md +1 -1
  30. package/dist/prompts/sprint-feedback.md +48 -0
  31. package/dist/prompts/task-evaluation-resume.md +7 -5
  32. package/dist/prompts/task-evaluation.md +37 -33
  33. package/dist/prompts/task-execution.md +33 -24
  34. package/dist/prompts/ticket-refine.md +6 -5
  35. package/dist/prompts/validation-checklist.md +10 -10
  36. package/dist/{resolver-RXEY6EJE.mjs → resolver-EOE5WUMV.mjs} +5 -5
  37. package/dist/{sprint-FGLWYWKX.mjs → sprint-OGOFEJJH.mjs} +7 -9
  38. package/dist/start-MMWC7QLI.mjs +17 -0
  39. package/package.json +15 -13
  40. package/dist/add-3T225IX5.mjs +0 -16
  41. package/dist/add-6A5432U2.mjs +0 -16
  42. package/dist/chunk-742XQ7FL.mjs +0 -551
  43. package/dist/chunk-7LZ6GOGN.mjs +0 -53
  44. package/dist/chunk-CSICORGV.mjs +0 -4333
  45. package/dist/chunk-DUU5346E.mjs +0 -59
  46. package/dist/create-MYGOWO2F.mjs +0 -12
  47. package/dist/multiline-OHSNFCRG.mjs +0 -40
  48. package/dist/wizard-XZ7OGBCJ.mjs +0 -193
  49. package/schemas/config.schema.json +0 -30
  50. package/schemas/ideate-output.schema.json +0 -22
  51. package/schemas/projects.schema.json +0 -58
  52. package/schemas/requirements-output.schema.json +0 -24
  53. package/schemas/sprint.schema.json +0 -109
  54. package/schemas/task-import.schema.json +0 -56
  55. package/schemas/tasks.schema.json +0 -98
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ addCheckScriptToRepository,
4
+ projectAddCommand
5
+ } from "./chunk-D2YGPLIV.mjs";
6
+ import "./chunk-NUYQK5MN.mjs";
7
+ import "./chunk-CFUVE2BP.mjs";
8
+ import "./chunk-747KW2RW.mjs";
9
+ import "./chunk-FKMKOWLA.mjs";
10
+ import "./chunk-IWXBJD2D.mjs";
11
+ import "./chunk-CTP2A436.mjs";
12
+ import "./chunk-57UWLHRH.mjs";
13
+ export {
14
+ addCheckScriptToRepository,
15
+ projectAddCommand
16
+ };
@@ -0,0 +1,18 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ addSingleTicketInteractive,
4
+ ticketAddCommand
5
+ } from "./chunk-JXMHLW42.mjs";
6
+ import "./chunk-NUYQK5MN.mjs";
7
+ import "./chunk-HL4ZMHCQ.mjs";
8
+ import "./chunk-CFUVE2BP.mjs";
9
+ import "./chunk-747KW2RW.mjs";
10
+ import "./chunk-YCDUVPRT.mjs";
11
+ import "./chunk-FKMKOWLA.mjs";
12
+ import "./chunk-IWXBJD2D.mjs";
13
+ import "./chunk-CTP2A436.mjs";
14
+ import "./chunk-57UWLHRH.mjs";
15
+ export {
16
+ addSingleTicketInteractive,
17
+ ticketAddCommand
18
+ };
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ getPrompt,
4
+ getSharedDeps,
5
+ setSharedDeps
6
+ } from "./chunk-747KW2RW.mjs";
7
+ export {
8
+ getPrompt,
9
+ getSharedDeps,
10
+ setSharedDeps
11
+ };
@@ -0,0 +1,103 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ listProjects
4
+ } from "./chunk-NUYQK5MN.mjs";
5
+ import {
6
+ EXIT_ERROR,
7
+ exitWithCode
8
+ } from "./chunk-CFUVE2BP.mjs";
9
+ import {
10
+ getPrompt
11
+ } from "./chunk-747KW2RW.mjs";
12
+ import {
13
+ createSprint,
14
+ setCurrentSprint
15
+ } from "./chunk-YCDUVPRT.mjs";
16
+ import {
17
+ emoji,
18
+ field,
19
+ formatSprintStatus,
20
+ icons,
21
+ showError,
22
+ showNextStep,
23
+ showRandomQuote,
24
+ showSuccess
25
+ } from "./chunk-FKMKOWLA.mjs";
26
+
27
+ // src/integration/cli/commands/sprint/create.ts
28
+ async function sprintCreateCommand(options = {}) {
29
+ const projects = await listProjects();
30
+ if (projects.length === 0) {
31
+ showError("No projects configured.");
32
+ showNextStep("ralphctl project add", "add a project first");
33
+ if (options.interactive === false) exitWithCode(EXIT_ERROR);
34
+ return;
35
+ }
36
+ let projectId;
37
+ const projectFlag = options.project?.trim();
38
+ if (projectFlag) {
39
+ const match = projects.find((p) => p.name === projectFlag || p.id === projectFlag);
40
+ if (!match) {
41
+ showError(`Project not found: ${projectFlag}`);
42
+ if (options.interactive === false) exitWithCode(EXIT_ERROR);
43
+ return;
44
+ }
45
+ projectId = match.id;
46
+ } else if (options.interactive === false) {
47
+ showError("--project is required in non-interactive mode");
48
+ exitWithCode(EXIT_ERROR);
49
+ } else if (projects.length === 1 && projects[0]) {
50
+ projectId = projects[0].id;
51
+ } else {
52
+ projectId = await getPrompt().select({
53
+ message: `${icons.project} Project:`,
54
+ choices: projects.map((p) => ({ label: p.displayName, value: p.id, description: p.description }))
55
+ });
56
+ }
57
+ if (!projectId) {
58
+ showError("No project selected.");
59
+ return;
60
+ }
61
+ const pickedProject = projects.find((p) => p.id === projectId);
62
+ let name;
63
+ if (options.interactive === false) {
64
+ const trimmed = options.name?.trim();
65
+ name = trimmed && trimmed.length > 0 ? trimmed : void 0;
66
+ } else {
67
+ const inputName = await getPrompt().input({
68
+ message: `${icons.sprint} Sprint name (optional):`,
69
+ default: options.name?.trim()
70
+ });
71
+ const trimmed = inputName.trim();
72
+ name = trimmed.length > 0 ? trimmed : void 0;
73
+ }
74
+ const sprint = await createSprint({ projectId, name });
75
+ let setAsCurrent = true;
76
+ if (options.interactive) {
77
+ setAsCurrent = await getPrompt().confirm({
78
+ message: `${emoji.donut} Set as current sprint?`,
79
+ default: true
80
+ });
81
+ }
82
+ if (setAsCurrent) {
83
+ await setCurrentSprint(sprint.id);
84
+ }
85
+ showSuccess("Sprint created!", [
86
+ ["ID", sprint.id],
87
+ ["Name", sprint.name],
88
+ ["Project", pickedProject ? `${pickedProject.displayName} (${pickedProject.name})` : projectId],
89
+ ["Status", formatSprintStatus(sprint.status)]
90
+ ]);
91
+ showRandomQuote();
92
+ if (setAsCurrent) {
93
+ console.log(field("Current", "Yes (this sprint is now active target)"));
94
+ showNextStep("ralphctl ticket add", "add tickets to this sprint");
95
+ } else {
96
+ console.log(field("Current", "No"));
97
+ showNextStep(`ralphctl sprint current ${sprint.id}`, "set as current later");
98
+ }
99
+ }
100
+
101
+ export {
102
+ sprintCreateCommand
103
+ };