@gavin-hu/my-pi-agent 0.15.0 → 0.16.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 (106) hide show
  1. package/README.md +12 -11
  2. package/README.zh-CN.md +9 -7
  3. package/extensions/bytefly/README.md +98 -116
  4. package/extensions/bytefly/notice/component.ts +6 -4
  5. package/extensions/bytefly/notice/config.ts +16 -2
  6. package/extensions/bytefly/panel/format.ts +3 -8
  7. package/extensions/bytefly/panel/join.ts +1 -6
  8. package/extensions/bytefly/panel/settings.ts +74 -377
  9. package/extensions/bytefly/panel/tui/entries.ts +16 -14
  10. package/extensions/bytefly/panel/tui/extensions-view.ts +3 -0
  11. package/extensions/bytefly/panel/tui/frame.ts +2 -2
  12. package/extensions/bytefly/panel/tui/settings-view.ts +8 -12
  13. package/extensions/bytefly/panel/tui.ts +4 -6
  14. package/extensions/bytefly/picker/resources.ts +7 -3
  15. package/extensions/bytefly/working/register.ts +2 -8
  16. package/extensions/check/tools.ts +2 -11
  17. package/extensions/context/README.md +162 -0
  18. package/extensions/context/collect.ts +53 -0
  19. package/extensions/context/commands.ts +100 -0
  20. package/extensions/context/format.ts +82 -0
  21. package/extensions/context/index.ts +16 -0
  22. package/extensions/context/report.ts +319 -0
  23. package/extensions/context/tui.ts +268 -0
  24. package/extensions/context/types.ts +122 -0
  25. package/extensions/file-browse/README.md +83 -8
  26. package/extensions/file-browse/client.ts +3 -1
  27. package/extensions/file-browse/config.ts +23 -0
  28. package/extensions/file-browse/files.ts +183 -48
  29. package/extensions/file-browse/fuzzy.ts +65 -11
  30. package/extensions/file-browse/html.ts +78 -133
  31. package/extensions/file-browse/index.ts +17 -2
  32. package/extensions/file-browse/live-client.ts +158 -0
  33. package/extensions/file-browse/live.ts +256 -0
  34. package/extensions/file-browse/markdown.ts +3 -10
  35. package/extensions/file-browse/raw-html.ts +3 -10
  36. package/extensions/file-browse/router.ts +33 -8
  37. package/extensions/file-browse/server.ts +78 -13
  38. package/extensions/file-browse/styles.ts +124 -0
  39. package/extensions/file-open/README.md +1 -2
  40. package/extensions/{document → file-read}/README.md +72 -56
  41. package/extensions/{document → file-read}/config.ts +12 -9
  42. package/extensions/{document → file-read}/extract/doc.ts +2 -2
  43. package/extensions/{document → file-read}/extract/docx.ts +3 -3
  44. package/extensions/{document → file-read}/extract/file.ts +9 -9
  45. package/extensions/{document → file-read}/extract/odt.ts +3 -3
  46. package/extensions/{document → file-read}/extract/pdf.ts +3 -3
  47. package/extensions/{document → file-read}/extract/rtf.ts +3 -3
  48. package/extensions/{document → file-read}/extract/xlsx.ts +4 -4
  49. package/extensions/{document → file-read}/formats.ts +11 -11
  50. package/extensions/file-read/index.ts +17 -0
  51. package/extensions/{document → file-read}/paging.ts +15 -13
  52. package/extensions/{document → file-read}/render.ts +17 -13
  53. package/extensions/{document → file-read}/schema.ts +7 -7
  54. package/extensions/{document → file-read}/tool.ts +36 -28
  55. package/extensions/goal/tools.ts +10 -14
  56. package/extensions/job/commands.ts +32 -46
  57. package/extensions/job/runtime.ts +6 -8
  58. package/extensions/job/tools.ts +7 -26
  59. package/extensions/memory/commands.ts +30 -44
  60. package/extensions/memory/tools.ts +6 -14
  61. package/extensions/plan/tools/enter.ts +6 -7
  62. package/extensions/plan/tools/exit.ts +6 -7
  63. package/extensions/plan/tools/steps.ts +6 -7
  64. package/extensions/plan/tools/write.ts +8 -9
  65. package/extensions/plan/web-router.ts +2 -12
  66. package/extensions/plan/web.ts +30 -15
  67. package/extensions/question/tools.ts +5 -4
  68. package/extensions/rewind/checklist.ts +10 -3
  69. package/extensions/rewind/git.ts +27 -14
  70. package/extensions/rewind/hunk-picker.ts +1 -1
  71. package/extensions/rewind/path-picker.ts +1 -1
  72. package/extensions/rewind/review-tui.ts +3 -3
  73. package/extensions/rewind/snapshot.ts +13 -4
  74. package/extensions/subagent/background-tui.ts +1 -1
  75. package/extensions/subagent/background.ts +1 -7
  76. package/extensions/todo/tools.ts +10 -14
  77. package/extensions/watch/README.md +5 -5
  78. package/extensions/watch/commands.ts +33 -47
  79. package/extensions/watch/runtime.ts +5 -7
  80. package/extensions/watch/tools.ts +7 -18
  81. package/extensions/web-access/README.md +3 -3
  82. package/extensions/web-access/search/search.ts +9 -18
  83. package/extensions/wechat/timer.ts +9 -30
  84. package/extensions/wechat/tools.ts +4 -7
  85. package/extensions/worktree/status.ts +14 -9
  86. package/lib/README.md +12 -8
  87. package/lib/escape.ts +15 -2
  88. package/lib/git/read.ts +20 -0
  89. package/lib/http/headers.ts +20 -0
  90. package/lib/http/server.ts +22 -4
  91. package/lib/pdf.ts +2 -2
  92. package/lib/pool.ts +62 -0
  93. package/lib/requirements.ts +2 -2
  94. package/lib/screen-session.ts +85 -0
  95. package/lib/timer.ts +61 -0
  96. package/lib/tui/README.md +3 -3
  97. package/lib/tui/columns.ts +33 -8
  98. package/lib/tui/dock-screen.ts +12 -4
  99. package/lib/tui/rows.ts +15 -6
  100. package/lib/tui/rules.ts +4 -8
  101. package/lib/tui/tool.ts +55 -2
  102. package/package.json +8 -4
  103. package/skills/changelog/SKILL.md +136 -0
  104. package/extensions/document/index.ts +0 -17
  105. /package/extensions/{document → file-read}/deadline.ts +0 -0
  106. /package/extensions/{document → file-read}/extract/vendor.d.ts +0 -0
@@ -0,0 +1,136 @@
1
+ ---
2
+ name: changelog
3
+ description: "Maintain a Keep a Changelog file: draft the candidate bullet before implementation, record one user-visible bullet in the same commit, audit commits since the last tag for missing or weak entries, and curate a release section from the project's own rules. Use when planning, writing, or auditing a changelog or preparing a release, not for ordinary code edits."
4
+ ---
5
+
6
+ # Maintain the changelog
7
+
8
+ This is a procedure, not a second policy. Read the project's instructions first;
9
+ where they disagree with this skill, the project wins. There are four modes:
10
+ **draft** (before the code exists), **record** (the default once it does),
11
+ **audit**, and **release**. `/skill:changelog draft`, `... audit`, and
12
+ `... release` name the others; with no mode, infer draft versus record from
13
+ whether the behavior already exists.
14
+
15
+ ## 1. Read the project profile
16
+
17
+ Before editing, find:
18
+
19
+ - the changelog file and its preamble;
20
+ - the category spelling and order;
21
+ - the scope prefix, and whether one bullet per extension or module is required;
22
+ - whether the entry belongs in the same commit as the change;
23
+ - the release document, version bump, link refs, and tag/push/publish order;
24
+ - the check command and any release-consistency test.
25
+
26
+ State the profile in one short paragraph. Do not invent a rule the project never
27
+ stated; ask instead.
28
+
29
+ ## 2. Draft before implementing
30
+
31
+ For a new feature, draft the bullet in the plan or a scratchpad, not in
32
+ `CHANGELOG.md`.
33
+
34
+ - Write one line in the project's shape: ``- `scope`: <what the user can now do>``.
35
+ - If you cannot state the outcome, or need several unrelated bullets, the feature
36
+ is not scoped yet; split it or ask before coding.
37
+ - Name the intended category and any migration, breaking change, or required
38
+ action now, while the scope is still open.
39
+ - Use the draft as the acceptance criterion: implementation is done when the
40
+ behavior it describes is true and tested.
41
+ - Keep it out of the changelog until the code lands; a draft is not a shipped
42
+ claim. Update it when the outcome changes, then move it into `[Unreleased]` in
43
+ the same commit as the code (**Record**).
44
+
45
+ ## 3. Classify the change
46
+
47
+ It qualifies when a user can observe it: behavior, a CLI/tool/command surface, a
48
+ config default, packaging, security, or a documented promise that is now true or
49
+ false.
50
+
51
+ It does not qualify when only the implementation changed: an internal refactor, a
52
+ rename, a test, formatting, a comment, or a dependency bump with no behavior
53
+ change.
54
+
55
+ One bullet per user-visible outcome. A feature and its bug fix before release can
56
+ be one bullet if users see one outcome; two observable changes are two bullets.
57
+ Ask when the outcome is unclear. Never invent an entry to make an audit look
58
+ complete.
59
+
60
+ ## 4. Record
61
+
62
+ - Write the entry in the same commit as the change. If the change is already
63
+ pushed without one, add a follow-up commit rather than rewriting history.
64
+ - Put it under `[Unreleased]` in `Added`, `Changed`, `Deprecated`, `Removed`,
65
+ `Fixed`, or `Security`.
66
+ - Lead with what the user can now do or what changed; use the project's scope
67
+ prefix; name a migration or required action explicitly.
68
+ - Exclude file names, internal helpers, test counts, commit hashes, and vague
69
+ words such as "various" or "improvements".
70
+ - Match the file's voice and tense. Do not add marketing.
71
+ - Re-read immediately before editing, append within the category, and preserve
72
+ other bullets and concurrent edits. Never create a second category heading.
73
+
74
+ Good:
75
+
76
+ ```text
77
+ - `billing`: invoices now show the tax line separately.
78
+ - `config`: `oldKey` is no longer read; run `bun run config:migrate`.
79
+ ```
80
+
81
+ Bad:
82
+
83
+ ```text
84
+ - `billing`: refactored invoice rendering and added tests.
85
+ - `misc`: improvements.
86
+ ```
87
+
88
+ ## 5. Audit (read-only)
89
+
90
+ 1. Find the last tag: `git describe --tags --abbrev=0`, or the project's
91
+ equivalent.
92
+ 2. List the commits since it: `git log --oneline --no-merges <tag>..HEAD`. Read
93
+ each diff with `git show`; a subject line is not enough.
94
+ 3. For each commit, answer: is it user-visible? Which existing bullet covers it?
95
+ Is the scope right? Is the outcome accurate?
96
+ 4. Report a table:
97
+
98
+ | Commit | User-visible | Evidence | Existing entry | Action |
99
+ |---|---|---|---|---|
100
+
101
+ `Action` is add, update, leave, or ask. "No entry found" is a valid result.
102
+
103
+ Also report duplicate `###` headings, empty categories, entries already shipped
104
+ under a released heading, and a missing or empty `[Unreleased]` when the commits
105
+ since the tag contain user-visible changes.
106
+
107
+ Do not edit during the audit unless the user asks. If they do, return to
108
+ **Record** and make only the entries the evidence supports.
109
+
110
+ ## 6. Release (only when asked)
111
+
112
+ Follow the project's release document; it is normative. This is a checklist, not
113
+ a replacement:
114
+
115
+ - Confirm the version and the SemVer reason with the user.
116
+ - Move every `[Unreleased]` entry under `## [X.Y.Z] - YYYY-MM-DD`; leave an empty
117
+ `[Unreleased]` heading.
118
+ - Bump every manifest and update the compare and release link refs.
119
+ - Run the project's release checks.
120
+ - Tag, push, and publish only with explicit approval, in the project's order.
121
+ - Keep the release commit mechanical: no behavior, code, or unrelated docs.
122
+ - Use that section as the release body; do not add extra prose.
123
+
124
+ ## 7. Quality gate
125
+
126
+ - One bullet per user-visible change; every bullet starts with a scope and a user
127
+ outcome.
128
+ - No internal-only or duplicate entries, and no empty category headings.
129
+ - No entry for a change that shipped before its heading.
130
+ - Links and versions agree; the project check passes.
131
+
132
+ ## 8. Report and stop
133
+
134
+ Say what was recorded, what the audit found, or what the release moved. List what
135
+ was deliberately left out and why. When nothing qualifies, say so. Stop before
136
+ editing if the project rules are missing or contradictory; ask instead.
@@ -1,17 +0,0 @@
1
- /**
2
- * The `document` extension entrypoint.
3
- *
4
- * Registers `read_doc`, which extracts text from a local PDF, DOCX, DOC, ODT,
5
- * RTF, or XLSX under the effective working root using in-process parsers. The
6
- * factory only registers; a parser library loads lazily on the first read of its
7
- * format, so the extension costs nothing at startup.
8
- */
9
-
10
- import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
11
- import { isExtensionEnabled } from "../../lib/env.ts";
12
- import { registerDocTool } from "./tool.ts";
13
-
14
- export default function document(pi: ExtensionAPI): void {
15
- if (!isExtensionEnabled("document")) return;
16
- registerDocTool(pi);
17
- }
File without changes