Crates.io | icaros |
lib.rs | icaros |
version | 0.1.5 |
created_at | 2025-07-06 22:54:27.694264+00 |
updated_at | 2025-07-07 03:40:05.313672+00 |
description | A modern tmux session manager with an interactive TUI |
homepage | https://github.com/madhavajay/icaros |
repository | https://github.com/madhavajay/icaros |
max_upload_size | |
id | 1740494 |
size | 7,567,482 |
Guide your agents on their Vision Quests with magic songs (Software 3.0) + herbs (Software 1.0).
Icaros (Quechua word) are magic songs used in South American healing ceremonies used by shamans to guide and facilitate healing processes.
Lock you agents from changing certain files
Create profiles to easily "SWITCH"
Diff and Stage as they make progress
curl -sSL https://raw.githubusercontent.com/madhavajay/icaros/main/install.sh | bash
Icaros is a Rust-based interactive file tree viewer that helps you manage which files AI assistants can edit. It displays a folder/file tree with toggles to lock/unlock files and expandable directories.
.git
, target
, node_modules
cargo build --release
icaros init # creates the software 3.0 files
icaros # runs the shaman
icaros init
Creates or updates CLAUDE.md
and ICAROS.md
files in the current directory with instructions for AI assistants about the file lock system. Templates are customizable - see the Template System section below.
The tool automatically saves the state immediately after each change. You don't need to worry about losing your locked files or expanded directories - every toggle is instantly persisted to the state file.
The tool saves a compact state file to .icaros
using glob patterns:
root_path: /path/to/project
locked_patterns:
- src/**
- tests/important_test.rs
- README.md
unlocked_patterns:
- '**'
allow_create_patterns:
- src
- tests
expanded_dirs:
- /path/to/project/src
Pattern Rules:
**
- Default pattern meaning everything is unlockeddir/**
- Lock entire directory and all contentsfile.ext
- Lock specific fileallow_create_patterns
are directories where new files can be created even though they're lockedRun the test suite:
cargo test
This tool creates a .icaros
file that tracks locked files. When using Claude or other AI assistants, they should check this file and avoid modifying any files listed in the locked_files
array.
Example integration:
.icaros
locked_files
arrayThe markdown prompts used by icaros init
are extracted into separate .md
files for easy customization.
prompts/
├── README.md # Documentation for the template system
├── ICAROS.md # Main file lock system guide
├── CLAUDE.md # Template for new CLAUDE.md files
└── CLAUDE_UPDATE.md # Template for updating existing CLAUDE.md
The system loads templates in this order:
User Config Directory (if exists)
~/Library/Application Support/icaros/prompts/
~/.config/icaros/prompts/
%APPDATA%\icaros\prompts\
Application Directory
./prompts/
relative to the binaryEmbedded Defaults
include_str!
Simply edit the files in the prompts/
directory before building:
# Edit the templates
vim prompts/ICAROS.md
# Build with your changes
cargo build --release
Create your own templates that override the defaults:
# macOS example
mkdir -p ~/Library/Application\ Support/icaros/prompts
cp prompts/ICAROS.md ~/Library/Application\ Support/icaros/prompts/
# Edit with your customizations
vim ~/Library/Application\ Support/icaros/prompts/ICAROS.md