ai-foreman 1.0.8 → 1.0.9

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 CHANGED
@@ -75,6 +75,7 @@ What each part does:
75
75
  - TODOs
76
76
  - roadmap docs
77
77
  - ticket files
78
+ - folders or globs containing planning notes
78
79
 
79
80
  ## Primary Options
80
81
 
@@ -112,6 +113,7 @@ Resume rule:
112
113
  | `-a, --agent <agent>` | `claude` / `codex` | `claude` | Builder agent. |
113
114
  | `-m, --model <model>` | `gpt-5.5` / any supported agent model | agent default | Overrides the builder model. |
114
115
  | `--effort <level>` | Claude Code: `low` / `medium` / `high` / `xhigh`<br>Codex: `low` / `medium` / `high` / `xhigh` | agent default | Reasoning level. |
116
+ | `--sources <paths...>` | `docs/tickets.md docs/plans/**` | scans relevant docs automatically | Optional files, folders, or globs for the agent to check first. Any reasonable planning format is OK. |
115
117
  | `--fast` | flag | off | Lower latency. |
116
118
  | `-y, --yes` | flag | off | Skips confirmation before builder edits ticket files. |
117
119
 
@@ -229,10 +231,12 @@ Supported source material can include:
229
231
  - TODOs
230
232
  - roadmap docs
231
233
  - Markdown trackers
234
+ - folders or globs containing planning notes
232
235
 
233
236
  ```bash
234
237
  # Claude Code
235
238
  ai-foreman tickets populate --project ./my-project
239
+ ai-foreman tickets populate --project ./my-project --sources docs/tickets.md docs/plans/**
236
240
 
237
241
  # Codex
238
242
  ai-foreman tickets populate --project ./my-project --agent codex
@@ -519,5 +523,3 @@ Package output:
519
523
 
520
524
 
521
525
 
522
-
523
-
@@ -1,3 +1,3 @@
1
1
  import { Command } from "commander";
2
- export declare function buildPopulateInstruction(): string;
2
+ export declare function buildPopulateInstruction(sourceHints?: string[]): string;
3
3
  export declare function buildTicketsCommand(): Command;
@@ -36,14 +36,26 @@ function makeLogPath(projectDir, label) {
36
36
  const stamp = new Date().toISOString().replace(/[:.]/g, "-");
37
37
  return join(projectDir, ".foreman", `${stamp}-${label}.jsonl`);
38
38
  }
39
- export function buildPopulateInstruction() {
39
+ export function buildPopulateInstruction(sourceHints) {
40
+ const sources = sourceHints ?? [];
41
+ const sourceHintBlock = sources.length > 0
42
+ ? `
43
+ User-provided planning source hints:
44
+ ${sources.map((source) => `- ${source}`).join("\n")}
45
+
46
+ Treat these as files, folders, or globs to check first. Any reasonable project-planning format is acceptable because you are responsible for interpreting it. If a hinted source does not exist or is ambiguous, continue scanning the repository before asking for help.
47
+ `
48
+ : `
49
+ No specific planning sources were provided. Scan the repository for relevant planning and ticketing documents.
50
+ `;
40
51
  return `You are being run by Foreman to populate this repository's Foreman ticket tracker.
41
52
 
42
53
  Goal:
43
54
  - Convert every existing project ticket, task, backlog item, roadmap item, or implementation step into Foreman's structured ticket system.
44
55
  - Do not implement product/code changes. Only update ticket-tracker files.
56
+ ${sourceHintBlock}
45
57
 
46
- Read these files first:
58
+ Before editing, read these tracker control files:
47
59
  - .tickets/config.yaml
48
60
  - .tickets/tickets.yaml
49
61
  - .tickets/tracker-rules.md
@@ -106,6 +118,7 @@ export function buildTicketsCommand() {
106
118
  .option("-a, --agent <agent>", "builder agent (claude | codex)", "claude")
107
119
  .option("-m, --model <model>", "override the builder's model")
108
120
  .option("--effort <level>", "reasoning effort level (low|medium|high|xhigh)")
121
+ .option("--sources <paths...>", "source hint files, folders, or globs to check first")
109
122
  .option("--fast", "fast mode - lower latency")
110
123
  .option("-y, --yes", "skip confirmation prompt before letting the builder edit tickets")
111
124
  .action(async (opts) => {
@@ -151,7 +164,7 @@ export function buildTicketsCommand() {
151
164
  console.log(`foreman tickets: project ${dir}`);
152
165
  console.log(`foreman tickets: log ${logPath}\n`);
153
166
  try {
154
- const turn = await foreman.runInstruction(buildPopulateInstruction());
167
+ const turn = await foreman.runInstruction(buildPopulateInstruction(opts.sources));
155
168
  await builder.close();
156
169
  await viewer;
157
170
  log.write("ticket-populate", {
package/dist/index.js CHANGED
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai-foreman",
3
- "version": "1.0.8",
3
+ "version": "1.0.9",
4
4
  "description": "An orchestrator that keeps Codex CLI / Claude Code builders moving through their step list unattended. Part of Rafi.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",