pi-note 0.12.0 → 0.12.1
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 +3 -0
- package/index.ts +4 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -181,6 +181,9 @@ When allowed by `taskOfferPolicy`, the agent proposes one note as `[tag] text`
|
|
|
181
181
|
and asks before creating it. No continues without a note. Yes calls
|
|
182
182
|
`pinote_add` with `select: true`. An existing selection is not replaced unless the
|
|
183
183
|
user asks to switch. Reuse a saved tag name when it fits.
|
|
184
|
+
Task text starts with a short, action-oriented title (aim for at most 60 characters).
|
|
185
|
+
Put context, URLs, commands, and acceptance criteria after a blank line; the title
|
|
186
|
+
should not contain implementation details. This is agent guidance, not a storage limit.
|
|
184
187
|
|
|
185
188
|
Agents are guided to keep notes to three short bullets total: relevant outcome,
|
|
186
189
|
blocker, and next action. Replace stale notes; omit narration, repeated task text,
|
package/index.ts
CHANGED
|
@@ -18,6 +18,7 @@ const offerGuidance = {
|
|
|
18
18
|
never: "Do not offer to create a pinote task. Create one only when the user explicitly requests it.",
|
|
19
19
|
};
|
|
20
20
|
const consentGuidance = "On no, continue without a note. On yes, call pinote_add with select true so it becomes this session's active task. Never add or select without a yes. If a task is already selected, do not replace it unless the user asks to switch.";
|
|
21
|
+
const titleGuidance = "Start task text with a short, action-oriented summary (aim for at most 60 characters). Put context, URLs, commands, and acceptance criteria after a blank line. Never put implementation details in the title.";
|
|
21
22
|
const tagGuidance = "Reuse a pinote_tags name when it fits. One tag; case-sensitive, trimmed, at most 64 characters. Tags are set when creating tasks with pinote_add; agent tools cannot retag existing tasks. Do not use pinote_update_current for tags or task text.";
|
|
22
23
|
type Task = {
|
|
23
24
|
id: number;
|
|
@@ -74,7 +75,7 @@ function creationGuidance(): { guidelines: string[]; error?: string } {
|
|
|
74
75
|
policy = "never";
|
|
75
76
|
error = cause instanceof Error ? cause.message : String(cause);
|
|
76
77
|
}
|
|
77
|
-
return { guidelines: [`${offerGuidance[policy]} ${consentGuidance}`, tagGuidance], error };
|
|
78
|
+
return { guidelines: [`${offerGuidance[policy]} ${consentGuidance}`, titleGuidance, tagGuidance], error };
|
|
78
79
|
}
|
|
79
80
|
|
|
80
81
|
function handoffPrompt(): string {
|
|
@@ -596,9 +597,9 @@ export default function (pi: ExtensionAPI) {
|
|
|
596
597
|
name: "pinote_add",
|
|
597
598
|
label: "Pinote add",
|
|
598
599
|
promptGuidelines: createGuidance,
|
|
599
|
-
description: "Create an active pinote task. Optional tag is registered if new. Set select true only after the user agrees to make it this session's active task; that starts it and remembers it for this session only. Omitting select leaves the current selection unchanged. Does not refresh the desktop notification or bind the project directory.",
|
|
600
|
+
description: "Create an active pinote task. Start text with a short task title; put details after a blank line. Optional tag is registered if new. Set select true only after the user agrees to make it this session's active task; that starts it and remembers it for this session only. Omitting select leaves the current selection unchanged. Does not refresh the desktop notification or bind the project directory.",
|
|
600
601
|
parameters: Type.Object({
|
|
601
|
-
text: Type.String({ minLength: 1 }),
|
|
602
|
+
text: Type.String({ minLength: 1, description: "Short action-oriented title (aim for at most 60 characters), then optional blank line and details." }),
|
|
602
603
|
tag: Type.Optional(Type.String({ minLength: 1 })),
|
|
603
604
|
select: Type.Optional(Type.Boolean()),
|
|
604
605
|
}),
|