# Documentation Index
Welcome to the Rust TUI Coder documentation! This index helps you find the information you need.
** NEW in v0.3.0**: ReAct pattern, OS detection, time tools, custom prompts, and enhanced file operations!
## Documentation Overview
### For New Users
Start here if you're new to Rust TUI Coder:
1. **[README.md](README.md)** - Project overview and features
2. **[GETTING_STARTED.md](GETTING_STARTED.md)** - Installation and first steps
3. **[EXAMPLES.md](EXAMPLES.md)** - Practical usage examples
### For Regular Users
Reference these documents during regular use:
- **[EXAMPLES.md](EXAMPLES.md)** - Common tasks and workflows
- **[TROUBLESHOOTING.md](TROUBLESHOOTING.md)** - Fix common problems
- **[README.md](README.md)** - Complete feature reference
### For Developers
Technical documentation for contributors and developers:
- **[ARCHITECTURE.md](ARCHITECTURE.md)** - System design and structure
- **[API.md](API.md)** - Complete API reference
- **[CONTRIBUTING.md](CONTRIBUTING.md)** - Contribution guidelines
- **[TESTING.md](TESTING.md)** - Test suite documentation
### For Maintainers
Documentation for project maintenance:
- **[PUBLISH.md](PUBLISH.md)** - Publishing to crates.io
- **[IMPROVEMENTS_SUMMARY.md](IMPROVEMENTS_SUMMARY.md)** - Recent improvements
- **[COMPLETION_REPORT.md](COMPLETION_REPORT.md)** - Development milestone report
---
## Quick Navigation
### By Topic
#### Installation & Setup
- [Installation methods](GETTING_STARTED.md#installation)
- [Configuration setup](GETTING_STARTED.md#configuration)
- [First run guide](GETTING_STARTED.md#first-run)
- [Environment variables](README.md#configuration)
#### Basic Usage
- [Sending messages](GETTING_STARTED.md#sending-messages)
- [Keyboard shortcuts](GETTING_STARTED.md#keyboard-shortcuts)
- [Special commands](GETTING_STARTED.md#special-commands)
- [Understanding tools](GETTING_STARTED.md#understanding-tool-execution)
#### Features & Tools
- [File operations](API.md#file-operations)
- [Directory operations](API.md#directory-operations)
- [Code execution](API.md#code-execution)
- [Plan management](API.md#plan-management)
- [Git operations](API.md#git-operations)
#### Examples & Tutorials
- [Basic file operations](EXAMPLES.md#basic-file-operations)
- [Code generation](EXAMPLES.md#code-generation)
- [Refactoring code](EXAMPLES.md#refactoring-code)
- [Debugging assistance](EXAMPLES.md#debugging-assistance)
- [Project setup](EXAMPLES.md#project-setup)
- [Real-world scenarios](EXAMPLES.md#real-world-scenario-examples)
#### Troubleshooting
- [Installation issues](TROUBLESHOOTING.md#installation-issues)
- [Configuration problems](TROUBLESHOOTING.md#configuration-problems)
- [API connection issues](TROUBLESHOOTING.md#api-connection-issues)
- [Tool execution errors](TROUBLESHOOTING.md#tool-execution-errors)
- [UI/Display problems](TROUBLESHOOTING.md#uidisplay-problems)
- [Performance issues](TROUBLESHOOTING.md#performance-issues)
#### Development
- [Project structure](ARCHITECTURE.md#component-details)
- [Data flow](ARCHITECTURE.md#data-flow)
- [Adding new tools](CONTRIBUTING.md#adding-a-new-tool)
- [Writing tests](CONTRIBUTING.md#writing-tests)
- [Code style](CONTRIBUTING.md#code-style)
---
## Find What You Need
### "I want to..."
#### ...get started
-> [GETTING_STARTED.md](GETTING_STARTED.md)
#### ...see examples of what I can do
-> [EXAMPLES.md](EXAMPLES.md)
#### ...fix a problem
-> [TROUBLESHOOTING.md](TROUBLESHOOTING.md)
#### ...understand how it works
-> [ARCHITECTURE.md](ARCHITECTURE.md)
#### ...look up API details
-> [API.md](API.md)
#### ...contribute code
-> [CONTRIBUTING.md](CONTRIBUTING.md)
#### ...run tests
-> [TESTING.md](TESTING.md)
#### ...publish the package
-> [PUBLISH.md](PUBLISH.md)
---
## Document Summaries
### [README.md](README.md)
**Purpose:** Main project documentation
**Audience:** All users
**Content:**
- Project overview and features
- Installation instructions
- Configuration guide
- Usage instructions
- Available tools
- FAQ and troubleshooting basics
---
### [GETTING_STARTED.md](GETTING_STARTED.md)
**Purpose:** Quick start guide for new users
**Audience:** New users
**Content:**
- Step-by-step installation
- Configuration walkthrough
- First run experience
- Basic usage tutorial
- Common tasks
- Tips for effective use
---
### [EXAMPLES.md](EXAMPLES.md)
**Purpose:** Practical usage examples
**Audience:** All users
**Content:**
- 30+ real-world examples
- Basic to advanced workflows
- Code generation examples
- Refactoring scenarios
- Debugging patterns
- Multi-step projects
---
### [ARCHITECTURE.md](ARCHITECTURE.md)
**Purpose:** System design documentation
**Audience:** Developers and contributors
**Content:**
- Architecture overview
- Component descriptions
- Data flow diagrams
- Design decisions
- Extension points
- Technical details
---
### [API.md](API.md)
**Purpose:** Complete API reference
**Audience:** Developers and advanced users
**Content:**
- Module documentation
- Function signatures
- Type definitions
- Tool descriptions
- Usage examples
- Error handling
---
### [CONTRIBUTING.md](CONTRIBUTING.md)
**Purpose:** Contributor guidelines
**Audience:** Contributors
**Content:**
- Development setup
- Code style guidelines
- Testing requirements
- Pull request process
- Adding features
- Bug reporting
---
### [TESTING.md](TESTING.md)
**Purpose:** Test suite documentation
**Audience:** Developers
**Content:**
- Test organization (94 tests)
- Running tests
- Test coverage details
- Adding new tests
- Test philosophy
---
### [TROUBLESHOOTING.md](TROUBLESHOOTING.md)
**Purpose:** Problem diagnosis and solutions
**Audience:** All users
**Content:**
- Common issues and fixes
- Installation problems
- Configuration errors
- API connection issues
- Tool execution errors
- Platform-specific issues
---
### [PUBLISH.md](PUBLISH.md)
**Purpose:** Publishing guide
**Audience:** Maintainers
**Content:**
- Pre-publication checklist
- Publishing steps
- Post-publication tasks
- Version management
- Testing installation
---
### [IMPROVEMENTS_SUMMARY.md](IMPROVEMENTS_SUMMARY.md)
**Purpose:** Recent changes and improvements
**Audience:** Maintainers and contributors
**Content:**
- Package metadata improvements
- Test suite additions
- Documentation updates
- Code quality enhancements
---
### [COMPLETION_REPORT.md](COMPLETION_REPORT.md)
**Purpose:** Development milestone report
**Audience:** Maintainers
**Content:**
- Task completion summary
- Key achievements
- Test results
- Documentation deliverables
---
## π Search by Question
### Setup Questions
**Q: How do I install it?**
A: See [Installation](GETTING_STARTED.md#installation)
**Q: How do I configure it?**
A: See [Configuration](GETTING_STARTED.md#configuration)
**Q: What API providers are supported?**
A: See [Provider Configuration](GETTING_STARTED.md#step-2-configure-your-provider)
**Q: Can I use a local model?**
A: Yes! See [Local Models](GETTING_STARTED.md#for-local-models-ollama-lm-studio-etc)
### Usage Questions
**Q: What can it do?**
A: See [Features](README.md#features) and [Examples](EXAMPLES.md)
**Q: What tools are available?**
A: See [Available Tools](README.md#available-tools) or [API Reference](API.md#available-tools)
**Q: How do I create a file?**
A: See [Basic File Operations](EXAMPLES.md#basic-file-operations)
**Q: How do I execute code?**
A: See [Code Execution](EXAMPLES.md#code-generation)
**Q: Can it help with debugging?**
A: Yes! See [Debugging Assistance](EXAMPLES.md#debugging-assistance)
### Troubleshooting Questions
**Q: It says config file not found?**
A: See [Config File Not Found](TROUBLESHOOTING.md#error-config-file-not-found)
**Q: My API key doesn't work?**
A: See [Invalid API Key](TROUBLESHOOTING.md#error-invalid-api-key)
**Q: Connection fails?**
A: See [Connection Issues](TROUBLESHOOTING.md#error-connection-refused-or-connection-timeout)
**Q: Tool execution fails?**
A: See [Tool Execution Errors](TROUBLESHOOTING.md#tool-execution-errors)
**Q: Display looks weird?**
A: See [UI Problems](TROUBLESHOOTING.md#uidisplay-problems)
### Development Questions
**Q: How does it work internally?**
A: See [Architecture](ARCHITECTURE.md)
**Q: How can I contribute?**
A: See [Contributing](CONTRIBUTING.md)
**Q: How do I add a new tool?**
A: See [Adding Tools](CONTRIBUTING.md#adding-a-new-tool)
**Q: How do I run tests?**
A: See [Testing](TESTING.md)
**Q: What's the API for each module?**
A: See [API Reference](API.md)
---
## πΊοΈ Learning Paths
### Path 1: Quick Start (15 minutes)
1. [README.md](README.md) - Skim the overview
2. [GETTING_STARTED.md](GETTING_STARTED.md) - Follow installation and setup
3. [EXAMPLES.md](EXAMPLES.md) - Try example 1-3
### Path 2: Regular User (1 hour)
1. [GETTING_STARTED.md](GETTING_STARTED.md) - Complete guide
2. [EXAMPLES.md](EXAMPLES.md) - Review all examples
3. [README.md](README.md) - Read feature reference
4. [TROUBLESHOOTING.md](TROUBLESHOOTING.md) - Bookmark for later
### Path 3: Developer (3 hours)
1. [README.md](README.md) - Understand the project
2. [ARCHITECTURE.md](ARCHITECTURE.md) - Learn the design
3. [API.md](API.md) - Study the API
4. [CONTRIBUTING.md](CONTRIBUTING.md) - Learn contribution process
5. [TESTING.md](TESTING.md) - Understand testing
### Path 4: Contributor (Ongoing)
1. [CONTRIBUTING.md](CONTRIBUTING.md) - Read thoroughly
2. [ARCHITECTURE.md](ARCHITECTURE.md) - Understand internals
3. [API.md](API.md) - Reference as needed
4. [TESTING.md](TESTING.md) - Follow test guidelines
---
## Documentation Statistics
- **Total Documents:** 10
- **Total Lines:** ~5,000+
- **Topics Covered:** 100+
- **Code Examples:** 50+
- **Last Updated:** 2024
---
## π Document Updates
### When to Update
- **README.md**: When adding features or changing behavior
- **GETTING_STARTED.md**: When setup process changes
- **EXAMPLES.md**: When adding new use cases
- **ARCHITECTURE.md**: When changing system design
- **API.md**: When changing APIs or adding tools
- **CONTRIBUTING.md**: When changing dev process
- **TESTING.md**: When adding test suites
- **TROUBLESHOOTING.md**: When common issues emerge
---
## Documentation Tips
### For Readers
1. **Start with the index** (this file) to orient yourself
2. **Use Ctrl+F** to search within documents
3. **Follow links** between related topics
4. **Try examples** as you read
5. **Bookmark** frequently used pages
### For Contributors
1. **Keep examples practical** and tested
2. **Update related documents** when making changes
3. **Add cross-references** between related topics
4. **Include code examples** where helpful
5. **Test all code snippets** before committing
---
## Support
- **Documentation Issues:** Open a GitHub issue
- **Suggestions:** Submit a pull request
- **Questions:** Start a GitHub discussion
---
## Additional Resources
### External Links
- [Rust Book](https://doc.rust-lang.org/book/) - Learn Rust
- [Tokio Tutorial](https://tokio.rs/tokio/tutorial) - Async programming
- [Ratatui Docs](https://docs.rs/ratatui/) - TUI library
- [OpenAI API Docs](https://platform.openai.com/docs) - API reference
- [Anthropic API Docs](https://docs.anthropic.com/) - Claude API
### Related Projects
- [Ollama](https://ollama.com/) - Local LLM runtime
- [LM Studio](https://lmstudio.ai/) - Local LLM interface
- [cargo-watch](https://crates.io/crates/cargo-watch) - Auto-rebuild tool
---
**Happy Learning! **
Last Updated: 2024
Version: 1.0.0