tkit-0.1.0 is not a library.
                    
                
                        Visit the last successful build:
                        
                            tkit-0.1.1
                        
                    
TKIT - Customizable Tool Manager
A Rust CLI tool that works like a package manager with customizable install scripts. Similar to make, it allows you to define complex installation, removal, and update procedures for any tool through simple YAML configuration.
Installation
Or build from source:
Quick Start
- Initialize configuration:
 
- List available tools:
 
- Install a tool:
 
- Add a custom tool:
 
Commands
tkit install <tool>- Install a tool using its defined install commandstkit remove <tool>- Remove a tool using its defined remove commandstkit update <tool>- Update a tool using its defined update commandstkit list- List all available tools and their statustkit add <tool>- Add a new tool configuration interactivelytkit init- Initialize configuration with example tools
Configuration
Tools are configured in ~/.config/tkit/config.yaml. Each tool can have:
- install_commands: List of commands to install the tool
 - remove_commands: List of commands to remove the tool
 - update_commands: List of commands to update the tool
 - description: Optional description of the tool
 
Example Configuration
tools:
  node:
    name: node
    description: Node.js runtime
    install_commands:
      - curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
      - sudo apt-get install -y nodejs
    remove_commands:
      - sudo apt-get remove -y nodejs
    update_commands:
      - sudo apt-get update
      - sudo apt-get upgrade -y nodejs
    installed: false
  rust:
    name: rust
    description: Rust programming language
    install_commands:
      - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
      - source ~/.cargo/env
    remove_commands:
      - rustup self uninstall -y
    update_commands:
      - rustup update
    installed: false
Use Cases
- Development Environment Setup: Install language runtimes, databases, tools
 - Server Provisioning: Automate installation of services and dependencies
 - Personal Tool Management: Keep track of installed tools and their versions
 - Team Onboarding: Share consistent installation procedures
 - Cross-Platform Scripts: Define platform-specific installation commands
 
Examples
Adding a Complex Tool
# Follow prompts to add install/remove/update commands
Multi-Step Installation Example
When adding a tool like Docker, you might define:
Install commands:
curl -fsSL https://get.docker.com -o get-docker.shsudo sh get-docker.shsudo usermod -aG docker $USERrm get-docker.sh
Remove commands:
sudo apt-get remove -y docker docker-engine docker.io containerd runcsudo rm -rf /var/lib/docker
Update commands:
sudo apt-get updatesudo apt-get upgrade -y docker-ce
Features
- ✅ Interactive tool addition
 - ✅ Command execution tracking
 - ✅ Installation status tracking
 - ✅ Colored output for better UX
 - ✅ Error handling with descriptive messages
 - ✅ Cross-platform configuration storage
 - ✅ YAML-based configuration
 - ✅ Example tools included
 
Publishing to crates.io
- Update version in 
Cargo.toml - Build and test: 
cargo build --release && cargo test - Publish: 
cargo publish 
Contributing
- Fork the repository
 - Create a feature branch
 - Make your changes
 - Add tests if applicable
 - Submit a pull request
 
License
MIT License - see LICENSE file for details.