axe-cli 1.7.7__tar.gz → 1.7.8__tar.gz
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.
- {axe_cli-1.7.7 → axe_cli-1.7.8}/PKG-INFO +1 -1
- {axe_cli-1.7.7 → axe_cli-1.7.8}/pyproject.toml +1 -1
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/agents/default/system.md +11 -16
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/axe/context.py +1 -10
- {axe_cli-1.7.7 → axe_cli-1.7.8}/README.md +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/CHANGELOG.md +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/README.md +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/__init__.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/acp/AGENTS.md +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/acp/__init__.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/acp/convert.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/acp/kaos.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/acp/mcp.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/acp/server.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/acp/session.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/acp/tools.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/acp/types.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/agents/README.md +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/agents/default/agent.yaml +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/agents/default/sub.yaml +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/agents/okabe/agent.yaml +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/agentspec.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/app.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/auth/__init__.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/auth/oauth.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/auth/platforms.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/cli/__init__.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/cli/__main__.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/cli/info.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/cli/mcp.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/cli/toad.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/config.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/constant.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/exception.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/llm.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/metadata.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/prompts/__init__.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/prompts/compact.md +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/prompts/init.md +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/py.typed +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/session.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/share.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/skill/__init__.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/skill/flow/__init__.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/skill/flow/d2.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/skill/flow/mermaid.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/skills/README.md +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/skills/axe-cli-help/SKILL.md +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/skills/skill-creator/SKILL.md +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/soul/__init__.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/soul/agent.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/soul/approval.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/soul/axesoul.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/soul/compaction.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/soul/context.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/soul/denwarenji.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/soul/message.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/soul/slash.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/soul/toolset.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/token_counter.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/AGENTS.md +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/README.md +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/__init__.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/axe/__init__.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/axe/auto_init.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/axe/impact.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/axe/index.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/axe/prewarm.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/axe/search.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/axe/structure.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/axe/warm.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/display.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/dmail/__init__.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/dmail/dmail.md +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/file/__init__.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/file/glob.md +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/file/glob.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/file/grep.md +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/file/grep_local.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/file/read.md +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/file/read.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/file/read_media.md +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/file/read_media.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/file/replace.md +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/file/replace.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/file/utils.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/file/write.md +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/file/write.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/multiagent/__init__.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/multiagent/create.md +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/multiagent/create.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/multiagent/task.md +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/multiagent/task.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/shell/__init__.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/shell/bash.md +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/shell/powershell.md +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/test.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/think/__init__.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/think/think.md +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/todo/__init__.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/todo/set_todo_list.md +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/utils.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/web/__init__.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/web/fetch.md +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/web/fetch.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/web/search.md +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/tools/web/search.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/ui/__init__.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/ui/acp/__init__.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/ui/print/__init__.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/ui/print/visualize.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/ui/shell/__init__.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/ui/shell/console.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/ui/shell/debug.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/ui/shell/keyboard.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/ui/shell/oauth.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/ui/shell/prompt.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/ui/shell/replay.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/ui/shell/setup.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/ui/shell/slash.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/ui/shell/update.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/ui/shell/usage.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/ui/shell/visualize.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/utils/__init__.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/utils/aiohttp.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/utils/aioqueue.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/utils/broadcast.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/utils/changelog.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/utils/clipboard.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/utils/datetime.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/utils/diff.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/utils/environment.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/utils/envvar.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/utils/frontmatter.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/utils/logging.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/utils/media_tags.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/utils/message.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/utils/path.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/utils/pyinstaller.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/utils/rich/__init__.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/utils/rich/columns.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/utils/rich/markdown.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/utils/rich/markdown_sample.md +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/utils/rich/markdown_sample_short.md +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/utils/rich/syntax.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/utils/signals.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/utils/slashcmd.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/utils/string.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/utils/term.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/utils/typing.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/wire/__init__.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/wire/file.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/wire/jsonrpc.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/wire/protocol.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/wire/serde.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/wire/server.py +0 -0
- {axe_cli-1.7.7 → axe_cli-1.7.8}/src/axe_cli/wire/types.py +0 -0
|
@@ -20,34 +20,28 @@ When responding to the user, you MUST use the SAME language as the user, unless
|
|
|
20
20
|
|
|
21
21
|
# Code Intelligence Tools (Axe-Dig)
|
|
22
22
|
|
|
23
|
-
The codebase is automatically indexed on startup using axe-dig
|
|
23
|
+
The codebase is automatically indexed on startup using axe-dig. When searching for code, **Grep** is **MOST PREFERABLE** for exact results, but **CodeSearch** can be used alongside it to form a **POWERFUL COMBINATION** of semantic and exact search.
|
|
24
24
|
|
|
25
25
|
**Recommended workflow for code tasks:**
|
|
26
|
-
1. **
|
|
27
|
-
2. **
|
|
26
|
+
1. **Grep** - PREFERRED. Use this first to find code locations.
|
|
27
|
+
2. **CodeSearch** - Use in combination with Grep for semantic discovery.
|
|
28
28
|
3. **CodeImpact** - Understand the function and shows all callers and dependencies, for refactoring (if needed)
|
|
29
29
|
4. **StrReplaceFile** - Make precise edits
|
|
30
30
|
|
|
31
31
|
## When to use Code Intelligence tools:
|
|
32
32
|
|
|
33
33
|
- **CodeSearch**: Use this **HEAVILY** for natural language queries to find code by BEHAVIOR or PURPOSE (e.g., "find where subagents are created").
|
|
34
|
-
-
|
|
34
|
+
- for finding code based on what it does, even if you don't know the exact variable names.
|
|
35
35
|
- Returns semantic matches even without exact text matches.
|
|
36
36
|
- Usage: `chop semantic search "natural language query"`
|
|
37
37
|
|
|
38
|
-
**Real examples from this codebase (verified):**
|
|
39
|
-
- "retry failed operations with exponential backoff" → `_is_retryable_error()` (score: 0.71)
|
|
40
|
-
- "load configuration from toml file" → `load_config_from_string()` (score: 0.76)
|
|
41
|
-
- "execute shell commands and capture output" → `run_sh()` (score: 0.73)
|
|
42
|
-
- "write content to file and handle errors" → `flush_content()` (score: 0.69)
|
|
43
|
-
|
|
44
38
|
**When to use CodeSearch:**
|
|
45
39
|
- Finding code by behavior: "cache with TTL", "validate input", "retry logic"
|
|
46
40
|
- Exploring unfamiliar code: "session management", "error handling patterns"
|
|
47
41
|
- Before refactoring: "who implements this pattern?"
|
|
48
|
-
|
|
42
|
+
|
|
49
43
|
|
|
50
|
-
**Scores 0.65-0.80 are excellent matches.
|
|
44
|
+
**Scores 0.65-0.80 are excellent matches. Use CodeSearch together with Grep for a powerful search strategy.**
|
|
51
45
|
|
|
52
46
|
- **CodeContext**: Use when you need to understand a specific function, class, or symbol WITHOUT reading entire files.
|
|
53
47
|
- **Requires a function/symbol name** (often found via CodeSearch first).
|
|
@@ -68,6 +62,7 @@ The codebase is automatically indexed on startup using axe-dig, providing powerf
|
|
|
68
62
|
- Can be used after CodeSearch to pinpoint exact locations for StrReplaceFile.
|
|
69
63
|
- Supports literal strings and complex regex patterns.
|
|
70
64
|
- Returns file paths + line numbers + content.
|
|
65
|
+
|
|
71
66
|
- **ReadFile**: Reading full file content when detailed implementation logic is needed.
|
|
72
67
|
- **FileSearch**: Finding files by name patterns.
|
|
73
68
|
|
|
@@ -96,10 +91,10 @@ This means you can find code by BEHAVIOR even without exact keywords:
|
|
|
96
91
|
4. Scores 0.65+ are excellent, 0.55-0.65 are good, below 0.55 try rephrasing
|
|
97
92
|
|
|
98
93
|
**Recommended workflow:**
|
|
99
|
-
1. **
|
|
100
|
-
2. **
|
|
101
|
-
3. **
|
|
102
|
-
4. **
|
|
94
|
+
1. **Grep** - PREFERABLY, use this first to locate code.
|
|
95
|
+
2. **CodeSearch** - Use if Grep fails or for behavioral search. Combine with Grep for best results.
|
|
96
|
+
3. **CodeContext** - Understand the function without reading entire files
|
|
97
|
+
4. **CodeImpact** - Check who calls it before refactoring
|
|
103
98
|
5. **StrReplaceFile** - Make the changes
|
|
104
99
|
|
|
105
100
|
**Each tool has its strength:**
|
|
@@ -56,19 +56,10 @@ Returns a compressed LLM-ready summary that includes:
|
|
|
56
56
|
→ calls: check_permissions, get_user_data, log_access
|
|
57
57
|
```
|
|
58
58
|
|
|
59
|
-
**
|
|
60
|
-
```bash
|
|
61
|
-
chop context reset_step_count --project src/axe_cli/
|
|
62
|
-
# Output: ~89 tokens (vs ~4,200 for reading the raw file)
|
|
63
|
-
# Shows: Function signature, what it calls (TokenCount), complexity (1 block)
|
|
64
|
-
# Result: 98% token savings while preserving full understanding
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
**Why use this instead of ReadFile?**
|
|
59
|
+
**Why use this?**
|
|
68
60
|
- 95% fewer tokens while preserving understanding
|
|
69
61
|
- Includes cross-file context (callers from other files, dependencies)
|
|
70
62
|
- Shows complexity metrics to assess refactoring difficulty
|
|
71
|
-
- Optimized for LLM comprehension
|
|
72
63
|
|
|
73
64
|
**When to use:**
|
|
74
65
|
- Understanding a function before editing it
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|