- Nix 52%
- Shell 48%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .forgejo/workflows | ||
| .gitignore | ||
| flake.lock | ||
| flake.nix | ||
| package.nix | ||
| README.md | ||
| sources.json | ||
| update.sh | ||
trail-code 0.26.0
Nix flake packaging trailhq/Trail-Code (formerly Graft), the context layer for coding agents: the graft code map plus the learnings your team's agents save.
nix run github:<you>/graft -- --help # `trail`; or: nix run . -- --help
nix run github:<you>/graft#graft -- --help # the old `graft` command
nix build .#trail-code
Outputs: packages.<system>.{trail-code,graft,default},
apps.<system>.{trail,graft,default}, overlays.default (adds
pkgs.trail-code and pkgs.graft). graft is an alias of trail-code, and
the package installs both commands: upstream ships them as one program under
two names (trail and the old graft, which keeps its old command layout).
Updating
.forgejo/workflows/update.yml runs daily (and on demand from the Actions
tab): it updates flake.lock, points sources.json at the newest upstream
release with update.sh (rewriting the version in this title to match), and
pushes to main only if the package still builds and trail --version and
graft --version run.
By hand, the same thing is:
nix flake update
nix shell --inputs-from . nixpkgs#curl nixpkgs#git nixpkgs#jq -c ./update.sh
nix build .#trail-code
Notes
- Version, commit, source hash and
npmDepsHashlive insources.json, whichupdate.shrewrites. Upstream stopped tagging at v0.21.1 and publishes no GitHub releases, so the version is thelatestdist-tag of@trailhq/trail-codeon npm and the commit is the matchingchore(release): X.Y.Zcommit (or thevX.Y.Ztag, should tags return). The hashes are the ones nix reports whentrail-code.srcandtrail-code.npmDepsare built with a fake hash. - Built from source, so the telemetry key upstream stamps into its npm release is absent and the binary sends no usage stats.
- The repo's
package.jsonis@nanonets/graftand only declaresgraft;trailis added as a wrapper around the samedist/bin/trail.jsthat the@trailhq/trail-codenpm package points at. tree-sitter-cli's install script is skipped: it downloads a binary at install time and nothing at runtime uses it.gitis put on the wrapped binaries'PATH;trail upgrade/graft upgrade(which shell out tonpm i -g) do not apply to a Nix install.