@sacho/sacho-x86_64-pc-windows-msvc 0.1.0-dev.12 → 0.1.0-dev.8

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 (3) hide show
  1. package/README.md +38 -67
  2. package/package.json +2 -2
  3. package/sacho.exe +0 -0
package/README.md CHANGED
@@ -18,7 +18,7 @@ towncrier assumes Python; changesets assumes an npm monorepo. Sacho is a single
18
18
  static binary with no runtime dependencies, usable in any repository regardless
19
19
  of language, and it does not even assume Git.
20
20
 
21
- [*Sacho is opinionated.*](./PHILOSOPHY.md) It enforces one fragment format,
21
+ [Sacho is opinionated.](./PHILOSOPHY.md) It enforces one fragment format,
22
22
  one output style, and one set of invariants. Configuration exists to describe
23
23
  your repository, not to customize the philosophy.
24
24
 
@@ -55,51 +55,6 @@ Without mise, npm, or Cargo, download the archive for your platform from
55
55
  [GitHub Releases]: https://github.com/dahlia/sacho/releases
56
56
 
57
57
 
58
- Agent Skill
59
- -----------
60
-
61
- Sacho ships an [Agent Skill] that teaches AI coding agents, such as Claude Code,
62
- how to adopt and operate Sacho: writing fragments for users, cutting releases,
63
- and forward-porting fixes across maintenance branches.
64
-
65
- In Claude Code, install it as a plugin. Add this repository as a plugin
66
- marketplace, then install the `sacho` plugin:
67
-
68
- ~~~~ text
69
- /plugin marketplace add dahlia/sacho
70
- /plugin install sacho@sacho
71
- ~~~~
72
-
73
- For other agents, or to install the skill without the plugin system, use the
74
- [`skills`] CLI, which reads the skill straight from this repository:
75
-
76
- ~~~~ sh
77
- npx skills add dahlia/sacho
78
- ~~~~
79
-
80
- Add `-a claude-code` to target one agent, `-g` to install it globally, and
81
- `--skill sacho` to select the skill by name.
82
-
83
- The skill is also bundled inside the `@sacho/sacho` npm package, following the
84
- [`skills-npm`] layout. In a project that depends on that package, run
85
- `npx skills-npm setup` once to link bundled skills from *node\_modules* into
86
- your agent on every install.
87
-
88
- [Agent Skill]: https://agentskills.io/
89
- [`skills`]: https://github.com/vercel-labs/skills
90
- [`skills-npm`]: https://github.com/antfu/skills-npm
91
-
92
-
93
- Documentation
94
- -------------
95
-
96
- The [*Sacho documentation*] walks through adoption, everyday use, releases,
97
- CI, and version-control integration. It also explains Sacho's core concepts and
98
- provides complete command and configuration references.
99
-
100
- [*Sacho documentation*]: https://sacho.dev/guide/getting-started
101
-
102
-
103
58
  How it works
104
59
  ------------
105
60
 
@@ -181,9 +136,7 @@ sacho release --next 1.3.0
181
136
 
182
137
  If no next version has been set, pass the release version explicitly, for
183
138
  example `sacho release 1.2.0`. Use `--date YYYY-MM-DD` when the release date
184
- must be supplied rather than taken from the local clock. A repository with no
185
- released changelog sections can cut its first release without fragments. Later
186
- empty releases require an explicit `--allow-empty`.
139
+ must be supplied rather than taken from the local clock.
187
140
 
188
141
  After committing a release, print its frozen Markdown section with `show`:
189
142
 
@@ -208,8 +161,7 @@ Version-control integration
208
161
  ---------------------------
209
162
 
210
163
  Sacho can enforce that commits changing configured source paths also carry a
211
- changelog fragment. Select the repository's VCS and the paths to check in
212
- *sacho.toml*:
164
+ changelog fragment. Select the repository's VCS in *sacho.toml*:
213
165
 
214
166
  ~~~~ toml
215
167
  [vcs]
@@ -224,6 +176,41 @@ Git also supports `sacho check --staged`. The `none` preset explicitly skips
224
176
  VCS-backed checks while leaving fragment validation and changelog consistency
225
177
  checks enabled.
226
178
 
179
+ Each preset supplies three subprocess commands. Repositories can override one
180
+ command without repeating the other two:
181
+
182
+ ~~~~ toml
183
+ [vcs]
184
+ preset = "git"
185
+
186
+ [vcs.commands]
187
+ message = ["my-vcs-wrapper", "message", "${commit}"]
188
+ ~~~~
189
+
190
+ The first array element is the executable and every remaining element is one
191
+ literal argument; Sacho never invokes a shell. The commits command uses
192
+ `${base}`, while changed-paths and message use `${commit}`. An overridden query
193
+ is the complete query and does not invoke commands from its preset behind the
194
+ scenes. The built-in Mercurial preset handles parent comparisons internally.
195
+
196
+ The query output contracts are:
197
+
198
+ - `commits` emits zero or more nonempty UTF-8 commit identifiers, oldest
199
+ first and one per line. The final line may end in LF; CRLF is also
200
+ accepted.
201
+ - `changed-paths` emits concatenated NUL-terminated name-status records.
202
+ Ordinary records are `A\0PATH\0`, `D\0PATH\0`, `M\0PATH\0`, or
203
+ `T\0PATH\0`, where `T` denotes a file type change. Copy and rename records
204
+ are `C[SIMILARITY]\0OLD_PATH\0NEW_PATH\0` and
205
+ `R[SIMILARITY]\0OLD_PATH\0NEW_PATH\0`, where the optional similarity is a
206
+ decimal percentage from 0 through 100. Status fields are UTF-8 and paths
207
+ are nonempty repository-relative platform paths; path bytes need not be
208
+ UTF-8 on Unix. Nonempty output ends in NUL. A copied or renamed fragment
209
+ counts as new content only when similarity is present and below 100;
210
+ omitting it does not satisfy fragment coverage.
211
+ - `message` emits the complete UTF-8 commit message verbatim. Sacho does not
212
+ trim it.
213
+
227
214
  `sacho init` installs Git merge attributes and drivers in Git repositories. In
228
215
  Mercurial repositories it installs an idempotent block in *.hg/hgrc* containing
229
216
  a successful-merge update hook and, when changelog materialization is enabled,
@@ -232,12 +219,6 @@ the changelog merge driver. These integrations invoke the executable that ran
232
219
  per-path merge-driver hook; after resolving a concurrent fragment merge, run
233
220
  `sacho sync --force`.
234
221
 
235
- See [*CI and hooks*] for fragment coverage and [*Version control*] for preset,
236
- merge-driver, and custom-query details.
237
-
238
- [*CI and hooks*]: https://sacho.dev/guide/ci-and-hooks
239
- [*Version control*]: https://sacho.dev/guide/version-control
240
-
241
222
 
242
223
  Etymology
243
224
  ---------
@@ -262,13 +243,3 @@ is the same insistence this tool makes against generating changelogs from
262
243
  commit messages after the fact.
263
244
 
264
245
  [1]: https://en.wikipedia.org/wiki/Veritable_Records_of_the_Joseon_Dynasty#Compilation_process
265
-
266
-
267
- License
268
- -------
269
-
270
- Copyright (C) 2026 Hong Minhee.
271
-
272
- Sacho is free software licensed under the GNU General Public License version 3
273
- only. It comes with no warranty, to the extent permitted by law. See
274
- [*LICENSE*](./LICENSE) for the full terms.
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@sacho/sacho-x86_64-pc-windows-msvc",
3
- "version": "0.1.0-dev.12+df65120",
3
+ "version": "0.1.0-dev.8+a3ec562",
4
4
  "description": "The Sacho binary for x86_64-pc-windows-msvc",
5
5
  "license": "GPL-3.0-only",
6
6
  "author": "Hong Minhee <hong@minhee.org>",
7
- "homepage": "https://sacho.dev/",
7
+ "homepage": "https://github.com/dahlia/sacho",
8
8
  "repository": {
9
9
  "type": "git",
10
10
  "url": "git+https://github.com/dahlia/sacho.git"
package/sacho.exe CHANGED
Binary file