summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorThePrimeagen <the.primeagen@gmail.com>2026-02-08 20:07:12 -0800
committerGitHub <noreply@github.com>2026-02-08 20:07:12 -0800
commit33bad88948f9a27ad10c7860e87f9b3bb199154b (patch)
treeca8b76d13b5671f79c5a1f5107f6b9f67569a8cb /README.md
parent93af8f12a695b0665e03b1b9c48ea0048615c472 (diff)
parent549c063632ce5b88a81f82c07f4276542ddbbc8d (diff)
downloada4-33bad88948f9a27ad10c7860e87f9b3bb199154b.tar.xz
a4-33bad88948f9a27ad10c7860e87f9b3bb199154b.zip
Merge pull request #106 from codegirl-007/back-that-hash-up
Add ability to reference files in prompt buffer
Diffstat (limited to 'README.md')
-rw-r--r--README.md40
1 files changed, 34 insertions, 6 deletions
diff --git a/README.md b/README.md
index a8c86af..4d21cf7 100644
--- a/README.md
+++ b/README.md
@@ -24,7 +24,7 @@ is for people who dont have "skill issues." This is meant to streamline the req
3. Still very alpha, could have severe problems
## How to use
-**you must have opencode installed and setup**
+**you must have a supported AI CLI installed (opencode, claude, or cursor-agent — see [Providers](#providers) below)**
Add the following configuration to your neovim config
@@ -41,15 +41,15 @@ I make the assumption you are using Lazy
local cwd = vim.uv.cwd()
local basename = vim.fs.basename(cwd)
_99.setup({
+ -- provider = _99.ClaudeCodeProvider, -- default: OpenCodeProvider
logger = {
level = _99.DEBUG,
path = "/tmp/" .. basename .. ".99.debug",
print_on_error = true,
},
- --- A new feature that is centered around tags
+ --- Completions: #rules and @files in the prompt buffer
completion = {
- --- Defaults to .cursor/rules
-- I am going to disable these until i understand the
-- problem better. Inside of cursor rules there is also
-- application rules, which means i need to apply these
@@ -72,6 +72,14 @@ I make the assumption you are using Lazy
"scratch/custom_rules/",
},
+ --- Configure @file completion (all fields optional, sensible defaults)
+ files = {
+ -- enabled = true,
+ -- max_file_size = 102400, -- bytes, skip files larger than this
+ -- max_files = 5000, -- cap on total discovered files
+ -- exclude = { ".env", ".env.*", "node_modules", ".git", ... },
+ },
+
--- What autocomplete do you use. We currently only
--- support cmp right now
source = "cmp",
@@ -110,10 +118,30 @@ I make the assumption you are using Lazy
},
```
-## Completion
-When prompting, if you have cmp installed as your autocomplete you can use an autocomplete for rule inclusion in your prompt.
+## Completions
+When prompting, you can reference rules and files to add context to your request.
+
+- `#` references rules — type `#` in the prompt to autocomplete rule files from your configured rule directories
+- `@` references files — type `@` to fuzzy-search project files
+
+Referenced content is automatically resolved and injected into the AI context. Requires cmp (`source = "cmp"` in your completion config).
-How skill completion and inclusion works is that you start by typing `@`.
+## Providers
+99 supports multiple AI CLI backends. Set `provider` in your setup to switch. If you don't set `model`, the provider's default is used.
+
+| Provider | CLI tool | Default model |
+|---|---|---|
+| `OpenCodeProvider` (default) | `opencode` | `opencode/claude-sonnet-4-5` |
+| `ClaudeCodeProvider` | `claude` | `claude-sonnet-4-5` |
+| `CursorAgentProvider` | `cursor-agent` | `sonnet-4.5` |
+
+```lua
+_99.setup({
+ provider = _99.ClaudeCodeProvider,
+ -- model is optional, overrides the provider's default
+ model = "claude-sonnet-4-5",
+})
+```
## API
You can see the full api at [99 API](./lua/99/init.lua)