ralphctl 0.5.0 → 0.6.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 (58) hide show
  1. package/README.md +29 -16
  2. package/dist/absolute-path-WUTZQ37D.mjs +8 -0
  3. package/dist/chunk-6RDMCLWU.mjs +108 -0
  4. package/dist/chunk-HIU74KTO.mjs +1046 -0
  5. package/dist/chunk-S3PTDH57.mjs +78 -0
  6. package/dist/chunk-WV4D2CPG.mjs +26 -0
  7. package/dist/cli.mjs +22413 -717
  8. package/dist/manifest.json +24 -0
  9. package/dist/prompt-adapter-JQICGVX7.mjs +7 -0
  10. package/dist/prompts/ideate.md +3 -1
  11. package/dist/prompts/plan-auto.md +23 -8
  12. package/dist/prompts/plan-common-examples.md +3 -3
  13. package/dist/prompts/plan-common.md +6 -5
  14. package/dist/prompts/plan-interactive.md +30 -7
  15. package/dist/prompts/repo-onboard.md +154 -64
  16. package/dist/prompts/signals-task.md +3 -0
  17. package/dist/prompts/sprint-feedback.md +3 -0
  18. package/dist/prompts/task-evaluation.md +74 -53
  19. package/dist/prompts/task-execution.md +65 -21
  20. package/dist/prompts/ticket-refine.md +11 -8
  21. package/dist/prompts/validation-checklist.md +3 -2
  22. package/dist/skills/default/abstraction-first/SKILL.md +45 -0
  23. package/dist/skills/default/alignment/SKILL.md +46 -0
  24. package/dist/skills/default/iterative-review/SKILL.md +48 -0
  25. package/dist/skills/exec/.gitkeep +0 -0
  26. package/dist/skills/plan/.gitkeep +0 -0
  27. package/dist/skills/refine/.gitkeep +0 -0
  28. package/dist/storage-paths-IPNZZM5D.mjs +15 -0
  29. package/dist/validation-error-QT6Q7FYU.mjs +7 -0
  30. package/package.json +9 -4
  31. package/dist/add-67UFUI54.mjs +0 -17
  32. package/dist/add-DVPVHENV.mjs +0 -18
  33. package/dist/bootstrap-FMHG6DRY.mjs +0 -11
  34. package/dist/chunk-62HYDA7L.mjs +0 -1128
  35. package/dist/chunk-747KW2RW.mjs +0 -24
  36. package/dist/chunk-BSB4EDGR.mjs +0 -260
  37. package/dist/chunk-BT5FKIZX.mjs +0 -787
  38. package/dist/chunk-CBMFRQ4Y.mjs +0 -441
  39. package/dist/chunk-CFUVE2BP.mjs +0 -16
  40. package/dist/chunk-D6QZNEYN.mjs +0 -5520
  41. package/dist/chunk-FNAAA32W.mjs +0 -103
  42. package/dist/chunk-GQ2WFKBN.mjs +0 -269
  43. package/dist/chunk-IWXBJD2D.mjs +0 -27
  44. package/dist/chunk-OGEXYSFS.mjs +0 -228
  45. package/dist/chunk-VAZ3LJBI.mjs +0 -179
  46. package/dist/chunk-WDMLPXOD.mjs +0 -363
  47. package/dist/chunk-XN2UIHBY.mjs +0 -589
  48. package/dist/chunk-ZE2BRQA2.mjs +0 -5542
  49. package/dist/create-Z635FQKO.mjs +0 -15
  50. package/dist/handle-23EFF3BE.mjs +0 -22
  51. package/dist/mount-NCYR22SN.mjs +0 -7434
  52. package/dist/project-DQHF4ISP.mjs +0 -34
  53. package/dist/prompts/check-script-discover.md +0 -69
  54. package/dist/prompts/ideate-auto.md +0 -195
  55. package/dist/prompts/task-evaluation-resume.md +0 -41
  56. package/dist/resolver-OVPYVW6Q.mjs +0 -163
  57. package/dist/sprint-4E26AB5F.mjs +0 -38
  58. package/dist/start-T34NI3LF.mjs +0 -19
@@ -0,0 +1,78 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ ValidationError
4
+ } from "./chunk-WV4D2CPG.mjs";
5
+
6
+ // src/domain/values/absolute-path.ts
7
+ import { isAbsolute } from "path";
8
+ import { Result } from "typescript-result";
9
+ var ENV_VAR_REGEX = /\$\{[^}]*\}|\$[A-Za-z_][A-Za-z0-9_]*/;
10
+ function validate(input) {
11
+ if (typeof input !== "string") {
12
+ return Result.error(
13
+ new ValidationError({
14
+ field: "absolute-path",
15
+ value: input,
16
+ message: "absolute path must be a string"
17
+ })
18
+ );
19
+ }
20
+ if (input.trim().length === 0) {
21
+ return Result.error(
22
+ new ValidationError({
23
+ field: "absolute-path",
24
+ value: input,
25
+ message: "absolute path must not be empty or whitespace-only"
26
+ })
27
+ );
28
+ }
29
+ if (input.includes("~")) {
30
+ return Result.error(
31
+ new ValidationError({
32
+ field: "absolute-path",
33
+ value: input,
34
+ message: 'absolute path must not contain "~"',
35
+ hint: "expand the home directory before constructing an AbsolutePath"
36
+ })
37
+ );
38
+ }
39
+ if (ENV_VAR_REGEX.test(input)) {
40
+ return Result.error(
41
+ new ValidationError({
42
+ field: "absolute-path",
43
+ value: input,
44
+ message: "absolute path must not contain environment variable references",
45
+ hint: "expand $VAR / ${VAR} via process.env before constructing an AbsolutePath"
46
+ })
47
+ );
48
+ }
49
+ if (!isAbsolute(input)) {
50
+ return Result.error(
51
+ new ValidationError({
52
+ field: "absolute-path",
53
+ value: input,
54
+ message: "path must be absolute",
55
+ hint: "use path.resolve() to convert a relative path before construction"
56
+ })
57
+ );
58
+ }
59
+ return Result.ok(input);
60
+ }
61
+ var AbsolutePath = {
62
+ parse(input) {
63
+ return validate(input);
64
+ },
65
+ /**
66
+ * Internal escape hatch for already-validated strings (e.g. paths read
67
+ * from persisted JSON that has already passed schema validation).
68
+ *
69
+ * **Do not call from business code; persistence layer only.**
70
+ */
71
+ trustString(s) {
72
+ return s;
73
+ }
74
+ };
75
+
76
+ export {
77
+ AbsolutePath
78
+ };
@@ -0,0 +1,26 @@
1
+ #!/usr/bin/env node
2
+
3
+ // src/domain/values/validation-error.ts
4
+ var ValidationError = class extends Error {
5
+ /** Discriminator. `as const` keeps it narrow at the type level. */
6
+ code = "invalid-value";
7
+ /** Logical field — usually the value-object name (e.g. "sprint-id"). */
8
+ field;
9
+ /** The raw input that failed validation. Kept untyped on purpose. */
10
+ value;
11
+ /** Optional human-readable repair hint. */
12
+ hint;
13
+ constructor(opts) {
14
+ super(opts.message);
15
+ this.name = "ValidationError";
16
+ this.field = opts.field;
17
+ this.value = opts.value;
18
+ if (opts.hint !== void 0) {
19
+ this.hint = opts.hint;
20
+ }
21
+ }
22
+ };
23
+
24
+ export {
25
+ ValidationError
26
+ };