Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .agents/skills/project-context/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
name: project-context
description: 'Summarize the repo purpose, layout, and validation commands'
---
Better Go To File is a VS Code extension focused on file search and ranking.
Use Bun for scripts and dependency management.
Keep runtime code in `src/` and tests in `test/`.
Prefer `bun run check` before finishing broad changes, or the smallest relevant subset when the change is narrow.
12 changes: 12 additions & 0 deletions .agents/skills/rulesync-maintainer/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
name: rulesync-maintainer
description: Maintain .rulesync sources and regenerate Codex/Codex files
---
Use this skill when the task involves `AGENTS.md`, `AGENTS.md`, `.Codex/skills/`, `.codex/skills/`, or AI workflow instructions.

- Treat `rulesync.jsonc` and `.rulesync/**` as the only editable source of truth.
- Never edit generated AI files directly.
- Add or update rules in `.rulesync/rules/`.
- Add or update skills in `.rulesync/skills/`.
- After changing `.rulesync/**`, run `bun run rulesync:generate`.
- Before finishing, run `bun run rulesync:check`.
38 changes: 38 additions & 0 deletions .agents/skills/scoring-debugger/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
name: scoring-debugger
description: >-
Debug Better Go To File ranking against any local repository using the scoring
CLI. Use when a user asks why a result ranked, wants to inspect top matches
for a query, or wants to iterate on presets/overrides outside the VS Code
extension host.
---
Use the local scoring CLI instead of re-deriving ranking behavior by hand.

Commands:

- `bun run score -- --help`
- `bun run score:search -- --repo /absolute/or/relative/repo --limit 20 button`
- `bun run score:search -- --repo /repo --preset nearby --active-path packages/foo/src/bar.tsx --open-path packages/foo/src/bar.tsx,packages/foo/src/baz.tsx button`
- `bun run score:search -- --repo /repo --contributor-email braden@example.com --debug button`
- `bun run score:search -- --repo /repo --frecency-file /path/to/frecency.json --debug button`
- `bun run score:search -- --repo /repo --custom-preset '{"ranking":{"context":{"sameDirectoryQueryBoost":200}}}' --debug button`
- `bun run score:explain -- --repo /repo button packages/runtimes/web-app/src/react/workflows/workflow-editor/components/node-input-v2/special-inputs/day-of-month-picker/button-grid.component.tsx`
- `bun run score:explain -- --repo /repo --contributor-name "Braden Marshall" --contributor-email braden@example.com button path/to/file.tsx`

Workflow:

1. Run `score:search` to inspect the current top matches.
2. Run `score:explain` for any suspicious candidate to see its rank, score, and nearby neighbors.
3. Re-run the same command with a different preset or `--custom-preset` override when iterating.
4. Check the summary lines to confirm whether frecency was auto-discovered from VS Code/Cursor workspace storage or pinned via `--frecency-file`.
5. Check the contributor summary lines to confirm whether priors were loaded from local `git config` or explicit override flags.
6. Summarize rank movements and the main lexical/context/frecency/git-prior signals from the debug output.

Current CLI scope:

- Uses the same ranking presets and lexical/context scorer as the extension.
- Scans the target repository directly from disk and infers package roots from `package.json` and `project.json`.
- Auto-discovers persisted frecency snapshots from common VS Code and Cursor `workspaceStorage` locations, with an explicit `--frecency-file` override when needed.
- Includes tracked vs ignored vs untracked Git state in the context penalties.
- Loads contributor-relationship Git priors from local history, defaulting to the repo's `git config user.name` / `user.email` and allowing CLI overrides.
- Does not load open editors outside the provided flags or reconstruct unsaved in-memory editor state.
11 changes: 11 additions & 0 deletions .github/workflows/checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,5 +30,16 @@ jobs:
- name: Install dependencies
run: bun install --frozen-lockfile

- name: Install Neovim
env:
NVIM_ARCHIVE_SHA256: 31cf85945cb600d96cdf69f88bc68bec814acbff50863c5546adef3a1bcef260
NVIM_VERSION: v0.12.2
run: |
curl -fsSLo "$RUNNER_TEMP/nvim.tar.gz" \
"https://github.com/neovim/neovim/releases/download/$NVIM_VERSION/nvim-linux-x86_64.tar.gz"
echo "$NVIM_ARCHIVE_SHA256 $RUNNER_TEMP/nvim.tar.gz" | sha256sum -c -
tar -xzf "$RUNNER_TEMP/nvim.tar.gz" -C "$RUNNER_TEMP"
echo "$RUNNER_TEMP/nvim-linux-x86_64/bin" >> "$GITHUB_PATH"

- name: Run checks
run: bun run check
14 changes: 14 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,23 @@ jobs:
- name: Install dependencies
run: bun install --frozen-lockfile

- name: Install Neovim
env:
NVIM_ARCHIVE_SHA256: 31cf85945cb600d96cdf69f88bc68bec814acbff50863c5546adef3a1bcef260
NVIM_VERSION: v0.12.2
run: |
curl -fsSLo "$RUNNER_TEMP/nvim.tar.gz" \
"https://github.com/neovim/neovim/releases/download/$NVIM_VERSION/nvim-linux-x86_64.tar.gz"
echo "$NVIM_ARCHIVE_SHA256 $RUNNER_TEMP/nvim.tar.gz" | sha256sum -c -
tar -xzf "$RUNNER_TEMP/nvim.tar.gz" -C "$RUNNER_TEMP"
echo "$RUNNER_TEMP/nvim-linux-x86_64/bin" >> "$GITHUB_PATH"

- name: Run checks
run: bun run check

- name: Package Neovim adapter
run: bun run package:neovim

- name: Release
run: npx semantic-release
env:
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ rulesync.local.jsonc
.npm-cache
.DS_Store
.vscode-test
nvim.log
dist
2 changes: 1 addition & 1 deletion .oxfmtrc.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"ignorePatterns": ["out/**", ".vscode-test/**", ".npm-cache/**"]
"ignorePatterns": ["out/**", ".vscode-test/**", ".npm-cache/**", ".agents/skills/**"]
}
3 changes: 3 additions & 0 deletions .releaserc.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@
"assets": [
{
"path": "*.vsix"
},
{
"path": "dist/release/*.tar.gz"
}
]
}
Expand Down
33 changes: 33 additions & 0 deletions .vscodeignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,40 @@
.gitignore
.oxfmtrc.json
.oxlintrc.json
.prettierignore
.releaserc.json
.agents/**
.claude/**
.codex/**
.github/**
.rulesync/**
.npm-cache/**
.vscode/**
.vscode-test/**
editors/**
nvim.log
dist/**
AGENTS.md
CLAUDE.md
bun.lock
node_modules/**
!node_modules/opentype.js/LICENSE
!node_modules/opentype.js/package.json
!node_modules/opentype.js/dist/opentype.js
out/**/*.d.ts
out/**/*.map
out/**
!out/extension.js
!out/extension.js.map
assets/logo-square.png
assets/logo-with-text-small.png
assets/logo-with-text.png
scripts/**
src/**
test/**
*.tsbuildinfo
knip.jsonc
package-lock.json
rulesync.jsonc
tsconfig.*.json
tsconfig.json
Loading