@ravshansbox/pi-next-issue 2.5.9 → 2.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.
package/README.md CHANGED
@@ -16,6 +16,17 @@ Run this in pi, inside a git repository:
16
16
 
17
17
  The footer shows the issue, the stage, the number of tool calls and the time spent on the issue, for example `next-issue #12 · review 1 · 37 tools · 4m12s`. After a run ends, it keeps the last summary. In the terminal, it uses the dim colour of the theme, like the rest of the footer. A note appears when an issue is done, needs a human or fails while pi is open. Pi does not repeat the notes of a run that ended before it opened.
18
18
 
19
+ ## Create an issue
20
+
21
+ The package ships the `create-issue` skill. Ask pi to write an issue, or run `/skill:create-issue <problem>`. Pi then:
22
+
23
+ 1. restates the problem and reads the code when the problem touches it;
24
+ 2. asks numbered questions until none is open;
25
+ 3. shows the title and the body, and waits for you to confirm;
26
+ 4. runs `gh issue create --body-file` with the body from [`template.md`](skills/create-issue/template.md) and the `status:todo` label.
27
+
28
+ Pi does not implement the issue in that session. The worker does the work. The body holds the sections of the [issue format](../next-issue/README.md#issue-format).
29
+
19
30
  ## Worker
20
31
 
21
32
  The extension does no work itself. On `/next-issue` it connects to the `next-issue` worker on the socket file `~/.pi/agent/next-issue.sock`. When no worker answers, it starts one with `npx -y next-issue@<version> serve`, where `<version>` is the version of the extension, or `latest` when the extension runs from a source checkout with version `0.0.0`, in the background, and writes the output of the worker to `~/.pi/agent/next-issue-worker.log`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ravshansbox/pi-next-issue",
3
- "version": "2.5.9",
3
+ "version": "2.6.0",
4
4
  "description": "Pi extension that works through GitHub issues with the next-issue worker",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -16,12 +16,16 @@
16
16
  "keywords": [
17
17
  "pi-package",
18
18
  "pi-extension",
19
+ "pi-skill",
19
20
  "github",
20
21
  "issues"
21
22
  ],
22
23
  "pi": {
23
24
  "extensions": [
24
25
  "./index.ts"
26
+ ],
27
+ "skills": [
28
+ "./skills"
25
29
  ]
26
30
  },
27
31
  "scripts": {
@@ -45,7 +49,8 @@
45
49
  },
46
50
  "files": [
47
51
  "index.ts",
48
- "src"
52
+ "src",
53
+ "skills"
49
54
  ],
50
55
  "publishConfig": {
51
56
  "access": "public"
@@ -0,0 +1,31 @@
1
+ ---
2
+ name: create-issue
3
+ description: Turn a problem into a clear GitHub issue that the next-issue worker can claim. Use when the user wants to write, file or create an issue.
4
+ ---
5
+
6
+ # Create an issue
7
+
8
+ Turn the problem of the user into one GitHub issue in the format of `template.md`, next to this file.
9
+
10
+ 1. Understand the problem. Restate it in your own words.
11
+ 2. Investigate the code when the problem touches it. Read the relevant files and note what you find, with file paths.
12
+ 3. Ask numbered questions about anything that is unclear: the scope, the expected behaviour, the acceptance criteria. Label options with letters and recommend one. Ask again until no question is open.
13
+ 4. Write the body from `template.md` into a temporary file. Keep every heading of the template and its order. Leave `Open questions` empty.
14
+ 5. Show the title and the body to the user, and ask for confirmation. Change the draft and show it again until the user confirms.
15
+ 6. Only after the user confirms, create the issue:
16
+
17
+ ```bash
18
+ gh issue create --title "<title>" --body-file <file> --label status:todo
19
+ ```
20
+
21
+ 7. Tell the user the issue url.
22
+
23
+ Once the issue exists, do not implement it in this session. The next-issue worker does the work.
24
+
25
+ ## Sections
26
+
27
+ - Problem: what is wrong or missing, and who it affects.
28
+ - Context and findings: what you found in the code and the docs, with paths.
29
+ - Acceptance criteria: a list of checks that show the issue is done, each one observable.
30
+ - Out of scope: what the issue does not cover.
31
+ - Open questions: empty when the issue is created.
@@ -0,0 +1,9 @@
1
+ ## Problem
2
+
3
+ ## Context and findings
4
+
5
+ ## Acceptance criteria
6
+
7
+ ## Out of scope
8
+
9
+ ## Open questions