Skip to content

v0.2.8 — swe find

Choose a tag to compare

@c-wenlong c-wenlong released this 20 Aug 08:48
· 1589 commits to main since this release

Broken. Use v0.2.9. This release raises SyntaxError on import on Python 3.10 and 3.11, so the CLI does not start.


swe init answers "what would change". There was no way to ask "what is there", which is the question you have when a slash command has gone missing or a harness is not picking something up.

swe find

swe find amd       # AGENTS.md and every harness pointing at it
swe find skills    # skills, plugins, and every harness skill root
swe find           # both

Read-only, and it shares swe init's classification so the two cannot drift apart.

Where it scans

default the current directory, recursively
--root / -r from wherever ~/.quiver lives, recursively

What it shows: --scope=global\|local\|all, default global

A file is global when it sits directly in a harness root (~/.<tool>/ or ~/.config/<tool>/), or when it is symlinked to the shared copy. That rule alone cuts 112 AGENTS.md files on a real machine down to the 10 a harness actually loads into every session.

One level deeper inside a harness directory is neither global nor local: plugin caches, vendored repos, editor extensions, sandbox workspaces. Those ship their own instructions and never appear while you are coding, which makes them the interesting surface for injected text. They are counted in every view and listed under --scope=all:

10 found · 9 synced to the shared copy
41 more inside harness directories (plugin caches, vendored repos) — see --scope=all

So the number is always in front of you, and an unexplained jump after installing a plugin is visible without drowning the default view.

Two things the implementation needed

Pruning. Walking a home directory naively visits 107,803 directories in 9.3s, dominated by package-manager caches (~/.npm alone is ~20k). Pruning those plus build output and vendored checkouts brings it to 1.4s. There is no useful depth cap to apply instead, since real hits reach depth 14.

Middle elision. Paths shorten from the middle rather than the left. Nearly every one of these files is called AGENTS.md or CLAUDE.md, so left-truncation preserved the half carrying no information. The head is what distinguishes .codex from .cursor from .antigravity.

Removed

The ~/.agents legacy alias, along with the 74 per-skill symlinks six harnesses kept pointing into it. 42 of those were already broken. Those roots link to ~/.quiver/skills directly now.


40 tests on find, 867 passing overall. One asserts that swe find never writes to the filesystem.