Skip to content

Releases: Albisourous/prefixer

v1.1.3

Choose a tag to compare

@github-actions github-actions released this 29 Oct 04:15
  • Test dir names come from test files only. A suite is named by
    files that look like tests (test_refund.py, refund.spec.ts,
    RefundTest.java). A README, fixture data, or contest.py no longer
    shows up as a tested feature.
  • Generic names are dropped after the test marker is stripped.
    test_helpers.py no longer adds "helpers" to the cell.
  • "test" is stripped only after a separator. contest_test.py
    gives "contest", not "con". A dotted name keeps its first part
    (AboutPanel.tabs.test.tsx gives "AboutPanel"), and names that differ
    only in case are listed once.

v1.1.2

Choose a tag to compare

@github-actions github-actions released this 29 Oct 03:52
  • Sentence cuts respect abbreviations. A contains cell is cut at a
    sentence end only when ., !, or ? comes before a capital and
    does not close an abbreviation such as e.g., i.e., or etc..
  • Test dirs keep repo-specific descriptions. Instead of a fixed
    phrase, an undocumented test dir is named by what its files test
    (test_refund.py, checkout.spec.ts give "tests for checkout,
    refund"). The repo's own docs still win.

v1.1.1

Choose a tag to compare

@github-actions github-actions released this 29 Oct 03:06

Scaffold fixes from a second real-repo pass. Generated maps for
KiroCrew, rysolv, ray-tracer, and RoBall3D now lint with 0 warnings.

  • Submodules stay out of the index. A git submodule (gitlink, mode
    160000) is another repo and an empty dir in this one. It no longer
    counts as an uncovered top dir.
  • The misc: row holds up to 24 dirs (was 12), so mid-size repos
    no longer push dirs into the unmapped: footer.
  • Cleaner contains cells. Text is cut at the first sentence or at a
    word boundary with ..., never mid-word or mid-character. Section
    banners (== Foo ==) and commented-out code are skipped as
    descriptions. Test dirs read "tests and fixtures" instead of one
    test case's comment. C-family type names and include guards no
    longer show up as exports.

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 29 Oct 01:57

Real-repo pass: the scaffold and search now hold up on 1,000 to 6,000
file codebases, not just fixtures. On a 6,000-file repo a broad
search.sh kiro: import dropped from about 338k tokens to under 1k.

  • Search output is budgeted. search.sh prints at most 40 hits
    (--max N, --all, env PREFIXER_MAX_HITS), cuts lines past 240
    chars, and summarizes the rest by dir so the next call can narrow.
    -l lists files by hit count; -w and -F pass through to grep.
    The metrics line gains shown, and est_tokens is what printed.
  • Git-aware file index. lib_scope.sh lists files once per run
    from git ls-files (tracked plus untracked-not-ignored), falling
    back to find outside git. Scopes, widen-to-root, and coverage
    checks all read it, so .gitignored output never reaches a search
    and no scope runs its own find.
  • Size-weighted scaffold. init_namespaces.sh weighs every dir by
    the text files a grep would read, then gives rows to the heaviest
    dirs up to three levels deep. A big package gets child rows instead
    of one broad scope, single-child chains collapse (src/pkg/ maps as
    pkg:), and container dirs (src/, services/, packages/) keep
    their children as top-level tags.
  • No silent coverage holes. Top dirs that miss the row cap share
    one misc: row; the unmapped: footer only lists what did not fit
    there, capped at 8 names.
  • Better contains cells. Each row reports its file count and the
    biggest subdirs without a row. Descriptions also come from the dir's
    own README or manifest, agent-doc lines stop at the next path, and
    symbols are sampled from source files only.
  • Tighter synthetic rows. Root files compress to *.ext groups,
    lockfiles stay out, and jumbo-file rows only name source files that
    are not tests.

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 26 Oct 22:15

First stable release. The skill, scripts, spec, and eval harness from
0.x carry over unchanged; 1.0 adds the release machinery, community
files, spec conformance, and a one-command health check a public
project needs.

  • scripts/doctor.sh: one-command health check. Reports the map,
    lint verdict, session-start hook state, metrics gitignore coverage,
    and stale install stamps (.prefixer_version vs the running
    checkout). ok/warn/FAIL lines, nonzero exit on failures,
    --quiet for CI. SUPPORT.md and the bug-report form now ask for its
    output.
  • scripts/bump-version.py: one-command release bump. Rewrites the
    version in SKILL.md, all three plugin manifests, docs/index.html's
    softwareVersion, and the integrations/ CI pin, then opens a dated
    CHANGELOG section. RELEASING.md documents the full process, and
    release.yml creates the GitHub release when a v* tag lands,
    gated on validation, tests, and real changelog notes.
  • agentskills.io spec conformance. Added the compatibility field
    (bash + POSIX tools; Python 3 for visualize.py) and dropped the
    triggers field: the official validator rejects non-spec
    frontmatter, and [user, model] is Devin's default anyway, so the
    field was redundant. The official skills-ref validator now runs in
    CI pinned at skills-ref==0.1.1.
  • install.sh gains a windsurf platform. Project
    .windsurf/skills/prefixer, global ~/.codeium/windsurf/skills/prefixer,
    matching the paths Devin's docs publish. Detection markers:
    .windsurf/ and ~/.codeium/windsurf/.
  • Community files. CODE_OF_CONDUCT.md (Contributor Covenant),
    SUPPORT.md, ROADMAP.md (the 1.0 tracker), and a
    .pre-commit-config.yaml that runs the CI gates on commit.
  • summarize.py honest phrasing. A negative byte delta now reads
    "N% larger" instead of "-N% smaller"; RESULTS.md regenerated.
  • validate-package.py gains a check: the consumer workflow's
    script-fetch pin must equal the release version.
  • run.sh --dry-run works with no agent CLI. Adapter picking used
    to require a detected binary even though a dry run never calls one;
    machines with no agent CLI (like CI) fell over at pick_adapter. The
    auto path now falls back to the devin adapter so hook wiring can be
    verified anywhere, and the not-ready message covers missing binaries
    as well as missing logins.
  • README, docs site, and llms.txt synced: windsurf install, doctor.sh,
    and the agent-eval aggregate numbers (4.6 vs 7.2 mean tool calls per
    task, mapped vs baseline).

v0.7.1

Choose a tag to compare

@Albisourous Albisourous released this 26 Oct 19:30

SEO and agent-discovery pass.

  • SKILL.md description gains "save tokens" and "cut context cost" trigger phrases
  • Landing page: hook line, FAQ section with FAQPage JSON-LD, agent-facing install callout
  • llms.txt for LLM-facing site description
  • README agent callout block
  • Repo description now leads with "save tokens"; topics updated

v0.7.0 — measured token savings

Choose a tag to compare

@Albisourous Albisourous released this 26 Oct 19:15

What's new

  • eval_repo.sh — lints a map, then probes every namespace with its own name as the grep pattern. Zero per-repo config; prints a per-row hit/byte table and mean pct_saved.
  • check_namespaces.sh — map lint: dead scopes, duplicate tags, draft rows, generated dirs, coverage gaps.
  • eval_scope.sh — single-query token delta: root grep vs scoped grep.
  • Scaffold derives prefixes from the codebase's own vocabulary, nests sub-team rows (payments:checkout:), emits repo: slugs, and lands zero-TODO drafts.

Measured on public repos

repo namespaces mean bytes saved range
obra/superpowers 8 89% 69–100%
DietrichGebert/ponytail 12 91% 68–100%

Install

npx skills add Albisourous/prefixer — or copy SKILL.md, references/, scripts/ into .agents/skills/prefixer/.