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.
@@ -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 | ABF Tool | Instead of |
29
- |------|----------|------------|
30
- | Orient in a new project | `abf_project_overview` | Reading README + listing directories + checking package.json |
31
- | Find where something is defined | `abf_search` (exact mode) | `grep_search` |
32
- | Find files related to a concept | `abf_search` (keyword mode) | Multiple `semantic_search` + `grep_search` calls |
33
- | Read a specific function from a large file | `abf_chunk` with symbol name | `read_file` (which loads entire file or requires guessing line ranges) |
34
- | List all exports of a file | `abf_symbols` | `read_file` and scanning manually |
35
- | Understand what a file imports and who imports it | `abf_dependencies` | Multiple `grep_search` calls for import statements |
36
- | Get multi-file context around one entry point | `abf_context_bundle` | 5–10 calls to `read_file` + `abf_symbols` + `abf_dependencies` |
37
- | Find all usages of a function/class | `abf_impact` | `grep_search` with manual filtering |
38
- | Understand project conventions | `abf_conventions` | Reading multiple config files manually |
39
- | Search by file purpose/description | `abf_file_summary` | No native equivalent |
40
- | Check git history or blame | `abf_git` | `run_in_terminal` with git commands |
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