diff --git a/AGENTS.md b/AGENTS.md index 01fdde7..de1700c 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -125,10 +125,12 @@ Config lives in `~/.config/ollie/env`. Key variables: 1. Create a package under `tools//cmd//main.go` - Read JSON args from stdin, write result to stdout, exit 0/1 - Share library code in `tools//` (e.g. `tools/lsp/`) -2. Create `data/tools/.meta` (same format as above) -3. Add a build target in the justfile that compiles to `{{cfg}}/tools/` +2. Create `.meta` alongside `main.go` in the same `cmd//` directory (same format as above) +3. Add a build target in the justfile that compiles to `{{cfg}}/tools/` **and** installs the `.meta` file alongside it 4. Run `just` to build and install +The `.meta` file lives with the code that produces the tool, not in `data/tools/`. See the `lsp-tools` just target for the canonical pattern. + Both paths produce the same result: an executable + `.meta` in `$OLLIE_TOOLS_PATH`. The registry doesn't distinguish between scripts and binaries. ## Adding a new prompt diff --git a/justfile b/justfile index c7c7538..5688f72 100644 --- a/justfile +++ b/justfile @@ -39,14 +39,22 @@ acme: lsp-tools: @echo === Building LSP tools === + mkdir -p {{cfg}}/tools rm -f {{cfg}}/tools/lsp_definition {{cfg}}/tools/lsp_references {{cfg}}/tools/lsp_hover {{cfg}}/tools/lsp_rename {{cfg}}/tools/lsp_symbols {{cfg}}/tools/lsp_completion {{cfg}}/tools/lsp_diagnostics go build -o {{cfg}}/tools/lsp_definition ./tools/lsp/cmd/lsp_definition/ + install -m644 ./tools/lsp/cmd/lsp_definition/lsp_definition.meta {{cfg}}/tools/lsp_definition.meta go build -o {{cfg}}/tools/lsp_references ./tools/lsp/cmd/lsp_references/ + install -m644 ./tools/lsp/cmd/lsp_references/lsp_references.meta {{cfg}}/tools/lsp_references.meta go build -o {{cfg}}/tools/lsp_hover ./tools/lsp/cmd/lsp_hover/ + install -m644 ./tools/lsp/cmd/lsp_hover/lsp_hover.meta {{cfg}}/tools/lsp_hover.meta go build -o {{cfg}}/tools/lsp_rename ./tools/lsp/cmd/lsp_rename/ + install -m644 ./tools/lsp/cmd/lsp_rename/lsp_rename.meta {{cfg}}/tools/lsp_rename.meta go build -o {{cfg}}/tools/lsp_symbols ./tools/lsp/cmd/lsp_symbols/ + install -m644 ./tools/lsp/cmd/lsp_symbols/lsp_symbols.meta {{cfg}}/tools/lsp_symbols.meta go build -o {{cfg}}/tools/lsp_completion ./tools/lsp/cmd/lsp_completion/ + install -m644 ./tools/lsp/cmd/lsp_completion/lsp_completion.meta {{cfg}}/tools/lsp_completion.meta go build -o {{cfg}}/tools/lsp_diagnostics ./tools/lsp/cmd/lsp_diagnostics/ + install -m644 ./tools/lsp/cmd/lsp_diagnostics/lsp_diagnostics.meta {{cfg}}/tools/lsp_diagnostics.meta ollie-remote: @echo === Building ollie-remote === diff --git a/data/tools/lsp_completion.meta b/tools/lsp/cmd/lsp_completion/lsp_completion.meta similarity index 100% rename from data/tools/lsp_completion.meta rename to tools/lsp/cmd/lsp_completion/lsp_completion.meta diff --git a/data/tools/lsp_definition.meta b/tools/lsp/cmd/lsp_definition/lsp_definition.meta similarity index 100% rename from data/tools/lsp_definition.meta rename to tools/lsp/cmd/lsp_definition/lsp_definition.meta diff --git a/data/tools/lsp_diagnostics.meta b/tools/lsp/cmd/lsp_diagnostics/lsp_diagnostics.meta similarity index 100% rename from data/tools/lsp_diagnostics.meta rename to tools/lsp/cmd/lsp_diagnostics/lsp_diagnostics.meta diff --git a/data/tools/lsp_hover.meta b/tools/lsp/cmd/lsp_hover/lsp_hover.meta similarity index 100% rename from data/tools/lsp_hover.meta rename to tools/lsp/cmd/lsp_hover/lsp_hover.meta diff --git a/data/tools/lsp_references.meta b/tools/lsp/cmd/lsp_references/lsp_references.meta similarity index 100% rename from data/tools/lsp_references.meta rename to tools/lsp/cmd/lsp_references/lsp_references.meta diff --git a/data/tools/lsp_rename.meta b/tools/lsp/cmd/lsp_rename/lsp_rename.meta similarity index 100% rename from data/tools/lsp_rename.meta rename to tools/lsp/cmd/lsp_rename/lsp_rename.meta diff --git a/data/tools/lsp_symbols.meta b/tools/lsp/cmd/lsp_symbols/lsp_symbols.meta similarity index 100% rename from data/tools/lsp_symbols.meta rename to tools/lsp/cmd/lsp_symbols/lsp_symbols.meta