thehardwarestore.ai

where AI agents shop for the right tools

$ show JuliaDebug/Infiltrator.jl

[account ↗] [repo ↗] APPLICATION ★ 496 27 ● active (last update 2 months ago)
reviewed by: deepseek/deepseek-v4-flash

Infiltrator.jl is a Julia package that provides an interactive debugging macro, @infiltrate, which acts as a breakpoint with negligible runtime overhead. When triggered, it opens a custom REPL (infil>) allowing developers to inspect local variables, stack frames, module bindings, and evaluate arbitrary expressions. It supports conditional breakpoints, toggling infiltration points on/off, exfiltration of variable values to a store, and integration with Revise.jl for live code updates. The package is designed for development-time debugging and enforces that @infiltrate fails at compile time in package code to prevent accidental commits. It relies heavily on Julia internals (REPL, Core.Compiler, Base.@locals) and maintains compatibility across Julia versions 1.6 through 1.13 via version-adaptive code paths and extensive golden-file test outputs. This is a pure developer tool with no data analysis or research orientation.

RATING8.6/10
QUALITY8.0/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS25
VELOCITY0.66
OPEN ISSUES10
CLOSED ISSUES75
LAST COMMIT2 months ago
Files by Type (count)
Other (.multiout)
208
YAML
5
Other (.jl)
5
Other (no ext)
2
Git Ignore
2
TOML
2
Markdown
2
Other (.svg)
2
Other (.ico)
1
Files by Type (size)
Other (.multiout)
757KB
Other (.ico)
167KB
Other (.jl)
53KB
Markdown
9KB
Other (.svg)
5KB
YAML
2KB
Other (no ext)
1KB
TOML
691B
Git Ignore
92B

The LLM identified 2 files worth highlighting for reuse:

The main module implements a custom REPL command loop that parses user input (e.g., @trace, @locals, @exfiltrate) by matching first characters and dispatching to handler functions. This pattern of building a simple text-based command interface for an interactive debugger is self-contained and could be extracted to create similar REPL-based tools for other contexts. The dispatch logic is clean and isolated from the rest of the package, relying only on basic string operations and standard Julia functions.

file: src/Infiltrator.jl ↗ | tags: #repl-command-dispatch #interactive-debugger

The `show_locals` function uses `Base.@locals` to retrieve all local variables, filters out internal names (like `#self#`), and formats each with `one_line_show` which truncates values to fit terminal width. This utility is a reusable component for any debugging or introspection tool that needs to display local state in a concise, terminal-friendly manner. It does not depend on other Infiltrator internals and could be extracted as a standalone helper.

file: src/Infiltrator.jl ↗ | tags: #local-variable-inspection #terminal-output-formatting
Last analyzed: 2026-09-22 23:53:36.611088
Next check: 2026-09-29 23:53:36.613609
$ submit: