@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.
- package/README.md +12 -11
- package/README.zh-CN.md +9 -7
- package/extensions/bytefly/README.md +98 -116
- package/extensions/bytefly/notice/component.ts +6 -4
- package/extensions/bytefly/notice/config.ts +16 -2
- package/extensions/bytefly/panel/format.ts +3 -8
- package/extensions/bytefly/panel/join.ts +1 -6
- package/extensions/bytefly/panel/settings.ts +74 -377
- package/extensions/bytefly/panel/tui/entries.ts +16 -14
- package/extensions/bytefly/panel/tui/extensions-view.ts +3 -0
- package/extensions/bytefly/panel/tui/frame.ts +2 -2
- package/extensions/bytefly/panel/tui/settings-view.ts +8 -12
- package/extensions/bytefly/panel/tui.ts +4 -6
- package/extensions/bytefly/picker/resources.ts +7 -3
- package/extensions/bytefly/working/register.ts +2 -8
- package/extensions/check/tools.ts +2 -11
- package/extensions/context/README.md +162 -0
- package/extensions/context/collect.ts +53 -0
- package/extensions/context/commands.ts +100 -0
- package/extensions/context/format.ts +82 -0
- package/extensions/context/index.ts +16 -0
- package/extensions/context/report.ts +319 -0
- package/extensions/context/tui.ts +268 -0
- package/extensions/context/types.ts +122 -0
- package/extensions/file-browse/README.md +83 -8
- package/extensions/file-browse/client.ts +3 -1
- package/extensions/file-browse/config.ts +23 -0
- package/extensions/file-browse/files.ts +183 -48
- package/extensions/file-browse/fuzzy.ts +65 -11
- package/extensions/file-browse/html.ts +78 -133
- package/extensions/file-browse/index.ts +17 -2
- package/extensions/file-browse/live-client.ts +158 -0
- package/extensions/file-browse/live.ts +256 -0
- package/extensions/file-browse/markdown.ts +3 -10
- package/extensions/file-browse/raw-html.ts +3 -10
- package/extensions/file-browse/router.ts +33 -8
- package/extensions/file-browse/server.ts +78 -13
- package/extensions/file-browse/styles.ts +124 -0
- package/extensions/file-open/README.md +1 -2
- package/extensions/{document → file-read}/README.md +72 -56
- package/extensions/{document → file-read}/config.ts +12 -9
- package/extensions/{document → file-read}/extract/doc.ts +2 -2
- package/extensions/{document → file-read}/extract/docx.ts +3 -3
- package/extensions/{document → file-read}/extract/file.ts +9 -9
- package/extensions/{document → file-read}/extract/odt.ts +3 -3
- package/extensions/{document → file-read}/extract/pdf.ts +3 -3
- package/extensions/{document → file-read}/extract/rtf.ts +3 -3
- package/extensions/{document → file-read}/extract/xlsx.ts +4 -4
- package/extensions/{document → file-read}/formats.ts +11 -11
- package/extensions/file-read/index.ts +17 -0
- package/extensions/{document → file-read}/paging.ts +15 -13
- package/extensions/{document → file-read}/render.ts +17 -13
- package/extensions/{document → file-read}/schema.ts +7 -7
- package/extensions/{document → file-read}/tool.ts +36 -28
- package/extensions/goal/tools.ts +10 -14
- package/extensions/job/commands.ts +32 -46
- package/extensions/job/runtime.ts +6 -8
- package/extensions/job/tools.ts +7 -26
- package/extensions/memory/commands.ts +30 -44
- package/extensions/memory/tools.ts +6 -14
- package/extensions/plan/tools/enter.ts +6 -7
- package/extensions/plan/tools/exit.ts +6 -7
- package/extensions/plan/tools/steps.ts +6 -7
- package/extensions/plan/tools/write.ts +8 -9
- package/extensions/plan/web-router.ts +2 -12
- package/extensions/plan/web.ts +30 -15
- package/extensions/question/tools.ts +5 -4
- package/extensions/rewind/checklist.ts +10 -3
- package/extensions/rewind/git.ts +27 -14
- package/extensions/rewind/hunk-picker.ts +1 -1
- package/extensions/rewind/path-picker.ts +1 -1
- package/extensions/rewind/review-tui.ts +3 -3
- package/extensions/rewind/snapshot.ts +13 -4
- package/extensions/subagent/background-tui.ts +1 -1
- package/extensions/subagent/background.ts +1 -7
- package/extensions/todo/tools.ts +10 -14
- package/extensions/watch/README.md +5 -5
- package/extensions/watch/commands.ts +33 -47
- package/extensions/watch/runtime.ts +5 -7
- package/extensions/watch/tools.ts +7 -18
- package/extensions/web-access/README.md +3 -3
- package/extensions/web-access/search/search.ts +9 -18
- package/extensions/wechat/timer.ts +9 -30
- package/extensions/wechat/tools.ts +4 -7
- package/extensions/worktree/status.ts +14 -9
- package/lib/README.md +12 -8
- package/lib/escape.ts +15 -2
- package/lib/git/read.ts +20 -0
- package/lib/http/headers.ts +20 -0
- package/lib/http/server.ts +22 -4
- package/lib/pdf.ts +2 -2
- package/lib/pool.ts +62 -0
- package/lib/requirements.ts +2 -2
- package/lib/screen-session.ts +85 -0
- package/lib/timer.ts +61 -0
- package/lib/tui/README.md +3 -3
- package/lib/tui/columns.ts +33 -8
- package/lib/tui/dock-screen.ts +12 -4
- package/lib/tui/rows.ts +15 -6
- package/lib/tui/rules.ts +4 -8
- package/lib/tui/tool.ts +55 -2
- package/package.json +8 -4
- package/skills/changelog/SKILL.md +136 -0
- package/extensions/document/index.ts +0 -17
- /package/extensions/{document → file-read}/deadline.ts +0 -0
- /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
|
|
File without changes
|