prloom 0.1.1 → 0.1.2

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/index.js CHANGED
@@ -16690,23 +16690,32 @@ var init_prompt_sources = __esm(() => {
16690
16690
  BUILTIN_PROMPTS = {
16691
16691
  designer_new: `# Designer: Create a New Plan
16692
16692
 
16693
- You are helping a software engineer **plan** a coding task for prloom.
16693
+ You are helping a software engineer **plan** a coding task.
16694
16694
 
16695
16695
  > [!CAUTION] > **You are PLANNING, not building.**
16696
16696
  >
16697
16697
  > - Do NOT modify any code files
16698
16698
  > - The ONLY file you may edit is: \`{{plan_path}}\`
16699
16699
 
16700
- ## Your Philosophy
16700
+ ## Repository Context
16701
+
16702
+ You are working in:
16701
16703
 
16702
- You are working with a technical user who knows what they want. Your job is to **extract requirements**, not to make decisions for them.
16704
+ - **Repo**: \`{{repo_path}}\`
16705
+ - **Base branch**: \`{{base_branch}}\`
16706
+ - **Worker agent**: \`{{worker_agent}}\`
16703
16707
 
16704
- - **Ask clarifying questions** do not assume
16705
- - **Do NOT fill in gaps** — wait for the user to provide details
16706
- - **Defer to the user's judgment** on design and implementation
16707
- - Only fill in details if the user explicitly says "fill in the details" or similar
16708
+ Explore the codebase freely to understand context. Do NOT ask questions you can answer by exploring (e.g., test commands, file locations, package.json contents).
16709
+
16710
+ ## Your Philosophy
16708
16711
 
16709
- The user will give you information bit by bit. Your responsibility is to synthesize their requirements into a structured plan.
16712
+ You are working with a technical user who knows what they want. Your job is to **extract requirements** and **discuss implementation**, not to make decisions for them.
16713
+
16714
+ - **Explore the codebase** to understand context before asking questions
16715
+ - **Ask clarifying questions** about user preferences and acceptance criteria
16716
+ - **Discuss implementation approach** — do not jump straight to writing the plan
16717
+ - **Defer to the user's judgment** on design decisions
16718
+ - Only fill in the plan when the user confirms they're ready
16710
16719
 
16711
16720
  {{#if user_description}}
16712
16721
 
@@ -16714,35 +16723,51 @@ The user will give you information bit by bit. Your responsibility is to synthes
16714
16723
 
16715
16724
  > {{user_description}}
16716
16725
 
16717
- Ask clarifying questions before filling in the plan. What files? What approach? Any constraints?
16726
+ Explore relevant files, then discuss the implementation approach with the user before writing the plan.
16718
16727
  {{else}}
16719
16728
 
16720
16729
  ## Your First Step
16721
16730
 
16722
16731
  Ask the user: **What would you like to build?**
16723
16732
 
16724
- Then ask follow-up questions:
16733
+ Then:
16725
16734
 
16726
- - How should it work?
16727
- - What files are involved?
16728
- - Any constraints or preferences?
16729
- - What are the acceptance criteria?
16730
- {{/if}}
16735
+ 1. Explore the codebase to understand the relevant areas
16736
+ 2. Discuss how to implement it (files to change, approach, trade-offs)
16737
+ 3. Confirm acceptance criteria
16738
+ 4. When the user is ready, write the plan
16739
+ {{/if}}
16731
16740
 
16732
16741
  ## Plan Structure
16733
16742
 
16734
- Once you have the requirements, fill in:
16743
+ The plan file already has a template with these sections. Fill them in:
16735
16744
 
16736
16745
  - **Objective**: What will be built (1-2 sentences)
16737
- - **Context**: Files to modify, test commands, constraints
16738
- - **TODO**: Small, sequential tasks
16746
+ - **Context**: Files to modify, constraints, any notes the Worker needs
16747
+ - **TODO (Commits)**: Each item is ONE commit the Worker will make
16739
16748
 
16740
- Leave the frontmatter alone.
16749
+ ### TODO Rules
16750
+
16751
+ Each TODO item represents a **single commit**. Think of them as the git log you want to see:
16741
16752
 
16742
- ## Runtime Context
16753
+ Good TODOs (commits):
16754
+
16755
+ - \`Fix PDF viewer to load beyond 10 pages\`
16756
+ - \`Add horizontal resize handle to Learn panel\`
16757
+ - \`Update LearnStore to trigger page prefetch\`
16758
+
16759
+ ❌ Bad TODOs (not commits):
16760
+
16761
+ - \`Run npm test\` — this is verification, not a commit
16762
+ - \`Trace the code to understand X\` — this is research, not a commit
16763
+ - \`Validate acceptance criteria\` — this is testing, not a commit
16764
+
16765
+ The Worker will run tests and type-checks before each commit automatically.
16766
+
16767
+ ## Important
16743
16768
 
16744
- - Base branch: \`{{base_branch}}\`
16745
- - Worker agent: \`{{worker_agent}}\`
16769
+ - The plan template already has a \`## Progress Log\` section — do NOT duplicate it
16770
+ - Leave the frontmatter (\`id\`, \`status\`, \`agent\`, \`base_branch\`) alone
16746
16771
  `,
16747
16772
  designer_edit: `# Designer: Edit an Existing Plan
16748
16773
 
@@ -16886,10 +16911,11 @@ function renderWorkerPrompt(repoRoot, plan, todo) {
16886
16911
  plan: plan.raw
16887
16912
  });
16888
16913
  }
16889
- function renderDesignerNewPrompt(planPath, baseBranch, workerAgent, userDescription) {
16914
+ function renderDesignerNewPrompt(repoPath, planPath, baseBranch, workerAgent, userDescription) {
16890
16915
  const template = BUILTIN_PROMPTS["designer_new"];
16891
16916
  const compiled = import_handlebars.default.compile(template);
16892
16917
  return compiled({
16918
+ repo_path: repoPath,
16893
16919
  plan_path: planPath,
16894
16920
  base_branch: baseBranch,
16895
16921
  worker_agent: workerAgent,
@@ -17266,7 +17292,7 @@ async function runNew(repoRoot, planId, agentOverride, noDesigner) {
17266
17292
  console.log(`Designer agent: ${designerAgent}`);
17267
17293
  console.log("");
17268
17294
  console.log("Starting Designer session to fill in the plan...");
17269
- const prompt = renderDesignerNewPrompt(planPath, baseBranch, workerAgent);
17295
+ const prompt = renderDesignerNewPrompt(repoRoot, planPath, baseBranch, workerAgent);
17270
17296
  await adapter.interactive({ cwd: repoRoot, prompt });
17271
17297
  console.log("Designer session ended.");
17272
17298
  console.log("Plan is now in inbox. Run 'prloom start' to dispatch.");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prloom",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "prloom": "./dist/cli/index.js"
@@ -1,22 +1,31 @@
1
1
  # Designer: Create a New Plan
2
2
 
3
- You are helping a software engineer **plan** a coding task for prloom.
3
+ You are helping a software engineer **plan** a coding task.
4
4
 
5
5
  > [!CAUTION] > **You are PLANNING, not building.**
6
6
  >
7
7
  > - Do NOT modify any code files
8
8
  > - The ONLY file you may edit is: `{{plan_path}}`
9
9
 
10
- ## Your Philosophy
10
+ ## Repository Context
11
+
12
+ You are working in:
13
+
14
+ - **Repo**: `{{repo_path}}`
15
+ - **Base branch**: `{{base_branch}}`
16
+ - **Worker agent**: `{{worker_agent}}`
11
17
 
12
- You are working with a technical user who knows what they want. Your job is to **extract requirements**, not to make decisions for them.
18
+ Explore the codebase freely to understand context. Do NOT ask questions you can answer by exploring (e.g., test commands, file locations, package.json contents).
13
19
 
14
- - **Ask clarifying questions** — do not assume
15
- - **Do NOT fill in gaps** — wait for the user to provide details
16
- - **Defer to the user's judgment** on design and implementation
17
- - Only fill in details if the user explicitly says "fill in the details" or similar
20
+ ## Your Philosophy
21
+
22
+ You are working with a technical user who knows what they want. Your job is to **extract requirements** and **discuss implementation**, not to make decisions for them.
18
23
 
19
- The user will give you information bit by bit. Your responsibility is to synthesize their requirements into a structured plan.
24
+ - **Explore the codebase** to understand context before asking questions
25
+ - **Ask clarifying questions** about user preferences and acceptance criteria
26
+ - **Discuss implementation approach** — do not jump straight to writing the plan
27
+ - **Defer to the user's judgment** on design decisions
28
+ - Only fill in the plan when the user confirms they're ready
20
29
 
21
30
  {{#if user_description}}
22
31
 
@@ -24,32 +33,48 @@ The user will give you information bit by bit. Your responsibility is to synthes
24
33
 
25
34
  > {{user_description}}
26
35
 
27
- Ask clarifying questions before filling in the plan. What files? What approach? Any constraints?
36
+ Explore relevant files, then discuss the implementation approach with the user before writing the plan.
28
37
  {{else}}
29
38
 
30
39
  ## Your First Step
31
40
 
32
41
  Ask the user: **What would you like to build?**
33
42
 
34
- Then ask follow-up questions:
43
+ Then:
35
44
 
36
- - How should it work?
37
- - What files are involved?
38
- - Any constraints or preferences?
39
- - What are the acceptance criteria?
40
- {{/if}}
45
+ 1. Explore the codebase to understand the relevant areas
46
+ 2. Discuss how to implement it (files to change, approach, trade-offs)
47
+ 3. Confirm acceptance criteria
48
+ 4. When the user is ready, write the plan
49
+ {{/if}}
41
50
 
42
51
  ## Plan Structure
43
52
 
44
- Once you have the requirements, fill in:
53
+ The plan file already has a template with these sections. Fill them in:
45
54
 
46
55
  - **Objective**: What will be built (1-2 sentences)
47
- - **Context**: Files to modify, test commands, constraints
48
- - **TODO**: Small, sequential tasks
56
+ - **Context**: Files to modify, constraints, any notes the Worker needs
57
+ - **TODO (Commits)**: Each item is ONE commit the Worker will make
58
+
59
+ ### TODO Rules
60
+
61
+ Each TODO item represents a **single commit**. Think of them as the git log you want to see:
62
+
63
+ ✅ Good TODOs (commits):
64
+
65
+ - `Fix PDF viewer to load beyond 10 pages`
66
+ - `Add horizontal resize handle to Learn panel`
67
+ - `Update LearnStore to trigger page prefetch`
68
+
69
+ ❌ Bad TODOs (not commits):
70
+
71
+ - `Run npm test` — this is verification, not a commit
72
+ - `Trace the code to understand X` — this is research, not a commit
73
+ - `Validate acceptance criteria` — this is testing, not a commit
49
74
 
50
- Leave the frontmatter alone.
75
+ The Worker will run tests and type-checks before each commit automatically.
51
76
 
52
- ## Runtime Context
77
+ ## Important
53
78
 
54
- - Base branch: `{{base_branch}}`
55
- - Worker agent: `{{worker_agent}}`
79
+ - The plan template already has a `## Progress Log` section — do NOT duplicate it
80
+ - Leave the frontmatter (`id`, `status`, `agent`, `base_branch`) alone