agentsbestfriend 0.11.1 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/skills/abf/SKILL.md +63 -13
- package/dist/index.js +317 -68
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
|
@@ -10,6 +10,7 @@ ABF is a local MCP server that provides AI-optimized tools for navigating, searc
|
|
|
10
10
|
## When to Use ABF Tools
|
|
11
11
|
|
|
12
12
|
**Always prefer ABF tools when you need to:**
|
|
13
|
+
|
|
13
14
|
- Understand a project's structure or tech stack
|
|
14
15
|
- Search for code across files (exact, keyword, or semantic)
|
|
15
16
|
- Read specific functions or classes from large files
|
|
@@ -18,6 +19,7 @@ ABF is a local MCP server that provides AI-optimized tools for navigating, searc
|
|
|
18
19
|
- Get multi-file context around an entry point
|
|
19
20
|
|
|
20
21
|
**Use native tools only when:**
|
|
22
|
+
|
|
21
23
|
- Making edits to files (ABF is read-only)
|
|
22
24
|
- Checking for lint/compile errors
|
|
23
25
|
- Running terminal commands
|
|
@@ -25,19 +27,20 @@ ABF is a local MCP server that provides AI-optimized tools for navigating, searc
|
|
|
25
27
|
|
|
26
28
|
## Decision Matrix
|
|
27
29
|
|
|
28
|
-
| Task
|
|
29
|
-
|
|
30
|
-
| Orient in a new project
|
|
31
|
-
| Find where something is defined
|
|
32
|
-
| Find files related to a concept
|
|
33
|
-
| Read a specific function from a large file
|
|
34
|
-
| List all exports of a file
|
|
35
|
-
| Understand what a file imports and who imports it | `abf_dependencies`
|
|
36
|
-
| Get multi-file context around one entry point
|
|
37
|
-
| Find all usages of a function/class
|
|
38
|
-
| Understand project conventions
|
|
39
|
-
| Search by file purpose/description
|
|
40
|
-
| Check git history or blame
|
|
30
|
+
| Task | ABF Tool | Instead of |
|
|
31
|
+
| ------------------------------------------------- | ---------------------------- | ---------------------------------------------------------------------- |
|
|
32
|
+
| Orient in a new project | `abf_project_overview` | Reading README + listing directories + checking package.json |
|
|
33
|
+
| Find where something is defined | `abf_search` (exact mode) | `grep_search` |
|
|
34
|
+
| Find files related to a concept | `abf_search` (keyword mode) | Multiple `semantic_search` + `grep_search` calls |
|
|
35
|
+
| Read a specific function from a large file | `abf_chunk` with symbol name | `read_file` (which loads entire file or requires guessing line ranges) |
|
|
36
|
+
| List all exports of a file | `abf_symbols` | `read_file` and scanning manually |
|
|
37
|
+
| Understand what a file imports and who imports it | `abf_dependencies` | Multiple `grep_search` calls for import statements |
|
|
38
|
+
| Get multi-file context around one entry point | `abf_context_bundle` | 5–10 calls to `read_file` + `abf_symbols` + `abf_dependencies` |
|
|
39
|
+
| Find all usages of a function/class | `abf_impact` | `grep_search` with manual filtering |
|
|
40
|
+
| Understand project conventions | `abf_conventions` | Reading multiple config files manually |
|
|
41
|
+
| Search by file purpose/description | `abf_file_summary` | No native equivalent |
|
|
42
|
+
| Check git history or blame | `abf_git` | `run_in_terminal` with git commands |
|
|
43
|
+
| Persist notes / context across sessions | `abf_notes` | External files, comments, or memory tools |
|
|
41
44
|
|
|
42
45
|
## Recommended Workflows
|
|
43
46
|
|
|
@@ -82,25 +85,40 @@ ABF is a local MCP server that provides AI-optimized tools for navigating, searc
|
|
|
82
85
|
- Semantic similarity? → abf_search mode: "semantic" (requires Ollama)
|
|
83
86
|
```
|
|
84
87
|
|
|
88
|
+
### 6. Cross-Session Memory
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
1. abf_notes action: "save" (title, content, tags) → persist decisions, context, TODOs
|
|
92
|
+
2. abf_notes action: "search" (query) → recall notes by keyword (FTS5)
|
|
93
|
+
3. abf_notes action: "list" (tag: "architecture") → browse notes by tag
|
|
94
|
+
4. abf_notes action: "update" / "delete" → maintain your notepad
|
|
95
|
+
```
|
|
96
|
+
|
|
85
97
|
## Tool Reference
|
|
86
98
|
|
|
87
99
|
### abf_project_overview
|
|
100
|
+
|
|
88
101
|
**When:** Starting work on a project, or when asked "what does this project do?"
|
|
89
102
|
**Saves:** Reading README + package.json + listing directories manually (3–5 calls → 1)
|
|
103
|
+
|
|
90
104
|
- Returns: tech stack, frameworks, entry points, directory structure, language distribution, architectural patterns
|
|
91
105
|
- No index required — works immediately
|
|
92
106
|
|
|
93
107
|
### abf_search
|
|
108
|
+
|
|
94
109
|
**When:** Looking for code, files, or patterns across the project
|
|
95
110
|
**Saves:** Multiple grep_search or semantic_search calls
|
|
111
|
+
|
|
96
112
|
- `mode: "exact"` — ripgrep-powered, supports regex, returns matching lines with context
|
|
97
113
|
- `mode: "keyword"` — scores every file by keyword density, best for exploration
|
|
98
114
|
- `mode: "semantic"` — embedding similarity (requires Ollama + index with embeddings)
|
|
99
115
|
- Use `path_filter` to narrow scope (e.g. `"src/**/*.ts"`)
|
|
100
116
|
|
|
101
117
|
### abf_context_bundle
|
|
118
|
+
|
|
102
119
|
**When:** You need to understand a file in the context of its dependencies
|
|
103
120
|
**Saves:** 5–10 calls to read_file + abf_symbols + abf_dependencies (biggest saver)
|
|
121
|
+
|
|
104
122
|
- `include: "smart"` (default) — full source for entry, signatures for deps
|
|
105
123
|
- `include: "signatures"` — compact type signatures only (minimal tokens)
|
|
106
124
|
- `include: "full"` — full source code for all files up to depth
|
|
@@ -109,53 +127,85 @@ ABF is a local MCP server that provides AI-optimized tools for navigating, searc
|
|
|
109
127
|
- `depth: 0–4` — how far to follow the import graph
|
|
110
128
|
|
|
111
129
|
### abf_chunk
|
|
130
|
+
|
|
112
131
|
**When:** You need to read a specific function/class from a file without loading the entire file
|
|
113
132
|
**Saves:** read_file loading hundreds of irrelevant lines
|
|
133
|
+
|
|
114
134
|
- Call with `symbol: "functionName"` to get its full source code directly
|
|
115
135
|
- Call without symbol first to get a chunk overview, then use `chunk_index` to retrieve specific sections
|
|
116
136
|
|
|
117
137
|
### abf_symbols
|
|
138
|
+
|
|
118
139
|
**When:** You need to see what a file exports without reading its full content
|
|
119
140
|
**Saves:** read_file + mentally parsing the file structure
|
|
141
|
+
|
|
120
142
|
- Returns: function signatures, classes, interfaces, types, variables with line ranges
|
|
121
143
|
- Shows export status (★ = exported) and nesting
|
|
122
144
|
|
|
123
145
|
### abf_dependencies
|
|
146
|
+
|
|
124
147
|
**When:** Tracing what a file imports or finding who depends on it
|
|
125
148
|
**Saves:** Multiple grep_search calls for import statements
|
|
149
|
+
|
|
126
150
|
- Returns both imports and reverse dependencies (imported_by)
|
|
127
151
|
|
|
128
152
|
### abf_impact
|
|
153
|
+
|
|
129
154
|
**When:** Assessing how widely a symbol is used before changing it
|
|
130
155
|
**Saves:** grep_search + manual filtering of false positives
|
|
156
|
+
|
|
131
157
|
- Returns all files and specific lines that reference the symbol
|
|
132
158
|
- Classifies usage type (call, import, type reference, etc.)
|
|
133
159
|
|
|
134
160
|
### abf_file_summary
|
|
161
|
+
|
|
135
162
|
**When:** Searching by file purpose rather than exact code text
|
|
136
163
|
**Saves:** No native equivalent — unique capability
|
|
164
|
+
|
|
137
165
|
- Full-text search across LLM-generated file descriptions
|
|
138
166
|
- Requires summaries to be generated first (`abf_index` action: summarize)
|
|
139
167
|
|
|
140
168
|
### abf_conventions
|
|
169
|
+
|
|
141
170
|
**When:** Understanding project style before making changes
|
|
142
171
|
**Saves:** Reading eslint, tsconfig, prettier, and other config files manually
|
|
172
|
+
|
|
143
173
|
- Detects naming patterns, design patterns, folder structure conventions
|
|
144
174
|
- Returns confidence scores and examples
|
|
145
175
|
|
|
146
176
|
### abf_git
|
|
177
|
+
|
|
147
178
|
**When:** Checking history, blame, or diffs
|
|
148
179
|
**Saves:** Running git commands in terminal and parsing output
|
|
180
|
+
|
|
149
181
|
- Actions: log, file_history, blame, diff
|
|
150
182
|
- Structured output ready for analysis
|
|
151
183
|
|
|
152
184
|
### abf_index
|
|
185
|
+
|
|
153
186
|
**When:** Managing the ABF index
|
|
187
|
+
|
|
154
188
|
- `status` — check index health
|
|
155
189
|
- `rebuild` — full re-index
|
|
156
190
|
- `update` — incremental update
|
|
157
191
|
- `summarize` — generate LLM summaries (requires Ollama)
|
|
158
192
|
|
|
159
193
|
### abf_ping
|
|
194
|
+
|
|
160
195
|
**When:** Verifying ABF is running
|
|
196
|
+
|
|
161
197
|
- Returns server version, project root, and status
|
|
198
|
+
|
|
199
|
+
### abf_notes
|
|
200
|
+
|
|
201
|
+
**When:** Persisting context, decisions, TODOs, or any information across agent sessions
|
|
202
|
+
**Saves:** External scratch files, scattered comments, or relying on memory tools
|
|
203
|
+
|
|
204
|
+
- `action: "save"` — create a note with title, content, and optional comma-separated tags
|
|
205
|
+
- `action: "get"` — retrieve a note by ID or exact title
|
|
206
|
+
- `action: "list"` — browse all notes, optionally filtered by tag
|
|
207
|
+
- `action: "search"` — full-text search (FTS5 with BM25 ranking); supports AND/OR mode
|
|
208
|
+
- `action: "update"` — update title, content, or tags on an existing note by ID
|
|
209
|
+
- `action: "delete"` — remove a note by ID
|
|
210
|
+
- Stored in `.abf/notes.db` — survives re-indexing
|
|
211
|
+
- Project-scoped: each project has its own notepad
|