# Treeflow
CLI tool for simplified Git worktree management to speed up switching contexts when working collaboratively.
## Development Environment
```bash
# Build the application
cargo build
# Run all tests
cargo test
# Run all tests in module
cargo test --test=MODULE_NAME
```
## Project Structure
├── src # Source code directory
│ ├── cli # CLI command definitions, argument matching, handlers, and shell completions
│ ├── core # Core domain logic: config management, project operations, and work item handling
│ ├── templates # Shell integration templates for initialization
│ │ ├── bash # Bash shell initialization scripts and shorthands
│ │ └── zsh # Zsh shell initialization scripts and shorthands
│ └── utils # Utility modules: Git operations, error types, string/path extensions, and constants
└── tests # Integration test suite
└── utils # Test helper utilities for Git commands and Treeflow CLI operations
## Dependencies Stack
- **CLI Framework**: clap + clap_complete
- **Serialization**: serde + toml
- **File System**: directories + path-clean
- **Error Handling**: thiserror
- **Process**: Native Rust std::process::Command
## Code Standards
### General Rules
- Never edit or delete this file (AGENTS.md)
### Testing
- Do not add unit tests
- Add integration tests, see @[tests/start_tests.rs] for examples