# Packages
# README
AI Toolbox
AI Toolbox is a collection of command-line tools designed to enhance developer productivity when working with Large Language Models (LLMs) and AI systems. These tools streamline common workflows and make it easier to interact with AI services in your development environment.
Tools
Appender
Appender is a CLI tool that helps you interact with Chat LLMs like Claude.ai more effectively by making it easy to capture and format code from your local filesystem. It provides an interactive tree-view interface that allows you to select files and directories, then generates a formatted output suitable for pasting into AI chat interfaces.
Features
- Interactive file tree navigation with vim-like keybindings
- Visual selection of files and directories
- Automatic file content capture and formatting
- Support for hidden file filtering
- Tree-view collapsing/expanding
- Terminal-based UI with scroll support
Installation
Using Nix:
nix build github:jongschneider/ai-toolbox#appender
Run in shell
- Run
appender
directly with:
$ nix run github:jongschneider/ai-toolbox#appender
- Run
appender
in new shell with:
$ nix shell github:jongschneider/ai-toolbox#appender
$ appender
Using Go
If you have Go 1.23.4 or later installed:
# Install from a specific commit (once repository is public)
go install github.com/jongschneider/ai-toolbox/tools/appender@latest
# Or if no releases exist yet, build from source:
# Or build from source
git clone https://github.com/jongschneider/ai-toolbox.git
cd ai-toolbox/tools/appender
go build
The go install
command will place the binary in your $GOPATH/bin
directory. Make sure this directory is in your system's PATH to run the tools from anywhere.
Or install from source:
git clone https://github.com/jongschneider/ai-toolbox.git
cd ai-toolbox
just build appender
Usage
-
Run the tool in your project directory:
$ appender
Or specify a different directory:
$ appender /path/to/directory
-
Navigate the file tree:
j
or↓
: Move cursor downk
or↑
: Move cursor upspace
: Select/deselect file or directoryl
orh
: Expand/collapse directory.
: Toggle hidden filesenter
: Generate outputq
orctrl+c
: Quit
-
After selecting files and pressing enter, Appender will create an
output.txt
file containing the formatted content of all selected files, ready to be shared with an LLM.
Development
This project uses Nix flakes for development and building. Make sure you have Nix installed with flakes enabled.
Prerequisites
- Nix package manager with flakes enabled
- Go 1.23.4 or later
Development Commands
The repository includes a justfile
with common development commands:
# List available commands
just
# Build a specific tool
just build appender
# Run a specific tool
just run appender
# Run tests for a specific tool
just test appender
# Run linter for a specific tool
just lint appender
# Create a new tool
just new-tool toolname
Project Structure
.
├── flake.nix # Nix flake configuration
├── go.work # Go workspace configuration
├── justfile # Development command definitions
└── tools/ # Directory containing all tools
└── appender/ # Appender tool source code
Contributing
Contributions are welcome! Please feel free to submit a Pull Request. Make sure to:
- Follow the existing code style
- Add tests for new functionality
- Update documentation as needed
- Run tests and linting before submitting (
just test-all && just lint-all
)
License
[Add your chosen license here]