A powerful ReAct Python Assistant with AI capabilities
Project description
Nutaan CLI - Your AI Developer Assistant in the Terminal ๐
Nutaan-CLI is a powerful ReAct (Reasoning and Acting) Python assistant with AI capabilities, featuring Claude CLI-style tool displays, persistent task management, and professional terminal UI.
Made by Tecosys
๐ฅ Demo
โจ Features
- ๐ค AI-Powered Assistant - Advanced reasoning with LangGraph and OpenAI
- ๐ Plan Management - Create, track, and complete tasks with strikethrough formatting
- ๐ง Multiple Tools - Web search, file operations, bash commands, and more
- ๐ญ Think Mode - Enhanced reasoning for complex problems
- ๐จ Rich Terminal UI - Beautiful formatting with colors and progress tracking
- ๐พ Persistent Storage - Plans and session history automatically saved
- ๐ Multiple Run Methods - CLI command or Python module execution
๐ฆ Installation
From PyPI (Recommended)
pip install nutaan-cli
From Source (Development)
git clone https://github.com/Tecosys/nutaan-cli.git
cd nutaan-cli
pip install -e .
๐ Quick Start
Basic Usage
# Interactive mode
nutaan
# Single prompt
nutaan "Hello, how can you help me?"
# Think mode for complex reasoning
nutaan --think "Analyze this complex problem"
# Show help
nutaan --help
# Check version
nutaan --version
Python Module Execution
# All commands work with module execution too
python3 -m nutaan
python3 -m nutaan "Hello world"
python3 -m nutaan --think "Complex reasoning task"
๐ Plan Management
Nutaan-CLI includes a powerful plan tool for organizing and tracking tasks with visual progress indicators.
Creating Plans
# Create a plan with multiple tasks
nutaan "Create a plan for building a website with tasks: Setup HTML, Add CSS, JavaScript functionality, Testing, Deployment"
Output:
โข Website Project
Build a responsive website
โ Setup HTML structure
โ Add CSS styling
โ JavaScript functionality
โ Testing across browsers
โ Deployment
Progress: 0/5 items completed (0.0%)
Managing Tasks
# Complete a task (adds strikethrough)
nutaan "Complete the HTML setup task"
# Add new tasks
nutaan "Add a new task: Add responsive design"
# View all plans
nutaan "List all my plans"
# Show specific plan
nutaan "Show me the website project plan"
Completed tasks show with strikethrough:
โข Website Project
Build a responsive website
โ Setup HTML structure # โ
Completed with strikethrough
โ Add CSS styling
โ JavaScript functionality
โ Testing across browsers
โ Deployment
Progress: 1/5 items completed (20.0%)
Plan Tool Commands
# Direct plan tool usage
nutaan "Use plan tool to: create plan \"Project Name\" \"Description\" [\"Task 1\", \"Task 2\"]"
nutaan "Use plan tool to: complete item plan_id item_id"
nutaan "Use plan tool to: add item plan_id \"New task\""
nutaan "Use plan tool to: list plans"
๐ ๏ธ Available Tools
Core Tools
- ๐ง Think Tool - Advanced reasoning and problem analysis
- ๐ Plan Tool - Task management with progress tracking
- ๐ Web Search - Real-time information retrieval with Brave Search
- ๐ File Operations - Read, write, and edit files with permission system
- ๐ป Bash Commands - Execute system commands safely
- โ๏ธ File Editing - Smart file editing with diff previews
Tool Examples
# Web search
nutaan "Search for latest Python best practices"
# File operations
nutaan "Read the config.json file and explain its structure"
nutaan "Create a new Python script for data processing"
# System commands
nutaan "Check disk usage and system status"
# Complex reasoning
nutaan --think "Analyze the pros and cons of different deployment strategies"
๐ Session Management
History & Statistics
# View session history
nutaan --history
# Show usage statistics
nutaan --stats
# Resume previous conversation
nutaan "Resume our last conversation about the website project"
Data Storage
- Plans:
.nutaan_data/plans.json- All task plans and progress - Sessions: Stored in memory during runtime
- Configuration: Automatic environment detection
๐ฏ Usage Examples
Development Workflow
# 1. Create project plan
nutaan "Create a plan for building a Python web scraper with tasks: Setup environment, Design data model, Implement scraper, Add error handling, Write tests, Documentation"
# 2. Work through tasks
nutaan "Complete the environment setup task"
nutaan "Help me implement the data model for the scraper"
# 3. Track progress
nutaan "Show my scraper project progress"
Learning & Research
# Complex analysis with think mode
nutaan --think "Explain the differences between async/await and threading in Python, with practical examples"
# Research with web search
nutaan "Find the latest best practices for FastAPI development"
# Create learning plan
nutaan "Create a learning plan for mastering React with tasks: JSX basics, Components, State management, Hooks, Routing, Testing"
System Administration
# System monitoring
nutaan "Check system resources and suggest optimizations"
# File management
nutaan "Organize the Downloads folder by file type"
# Documentation
nutaan "Create documentation for this Python project based on the code structure"
โ๏ธ Configuration
Using Nutaan API (Recommended)
For the best experience, use the official Nutaan API:
- Get API Key: Visit nutaan.com and create an API key in Settings
- Create Environment File: Create a
.envfile with your configuration:
# LiteLLM Proxy Configuration
CUSTOM_API_KEY=nut-xxxxxxxxxxxxxxxx
CUSTOM_BASE_URL=https://api-prod.nutaan.com
CUSTOM_MODELS=nutaan
# Enable custom provider
PROVIDERS=custom
- Run with Environment: Use the
-eflag to specify your environment file:
nutaan -e .env "Your query here"
Alternative: OpenAI API
# Optional: Custom API endpoints
export OPENAI_API_BASE="https://your-api-endpoint.com/"
export OPENAI_API_KEY="your-api-key"
Command Line Options
nutaan --help # Show all options
nutaan --think # Enable think mode
nutaan --test # Run test queries
nutaan --history # Manage session history
nutaan --stats # Show usage statistics
nutaan --version # Show version info
๐จ Rich Terminal UI
Nutaan-CLI provides a beautiful terminal experience with:
- ๐จ Syntax highlighting for code and diffs
- ๐ Progress bars for task completion
- โ Strikethrough formatting for completed tasks
- ๐ง Claude CLI-style tool call displays
- ๐ฑ Responsive layout that adapts to terminal size
๐๏ธ Architecture
Package Structure
nutaan/
โโโ __init__.py # Package initialization
โโโ __main__.py # Module execution entry point
โโโ cli.py # Command-line interface
โโโ core/ # Core functionality
โ โโโ __init__.py
โ โโโ agent_manager.py # Agent creation and management
โ โโโ session_history.py # Session persistence
โ โโโ prompt_system.py # System prompts and plan integration
โโโ tools/ # Available tools
โโโ __init__.py
โโโ plan_tool.py # Task management with Rich UI
โโโ brave_search_tool.py # Web search functionality
โโโ file_read_tool.py # File reading operations
โโโ file_write_tool.py # File writing with previews
โโโ file_edit_tool.py # File editing with diffs
โโโ bash_run_tool.py # System command execution
โโโ think_tool.py # Advanced reasoning
Data Storage
.nutaan_data/
โโโ plans.json # Persistent plan storage
Technology Stack
- LangGraph 0.6.2 - Agent orchestration and state management
- LangChain - LLM integration and tool management
- Rich 14.1.0 - Beautiful terminal UI with formatting
- Pydantic - Data validation and settings
- OpenAI/Compatible APIs - Language model inference
๐งช Development
Setting Up Development Environment
# Clone repository
git clone https://github.com/Tecosys/nutaan-cli.git
cd nutaan-cli
# Install in development mode
pip install -e .
# Run tests
python -m pytest
# Run with development logging
nutaan --debug "Test message"
Adding New Tools
- Create tool class in
nutaan/tools/following the pattern:
from langchain.tools import BaseTool
from pydantic import Field
class MyCustomTool(BaseTool):
name: str = "my_custom_tool"
description: str = "Description of what the tool does"
def _run(self, query: str) -> str:
# Tool implementation
return result
- Add to
nutaan/tools/__init__.py:
from .my_custom_tool import MyCustomTool
__all__ = [..., "MyCustomTool"]
- Import in
nutaan/core/agent_manager.pyand add to tools list
Extending Plan Tool
The plan tool supports rich formatting and persistence:
# Custom plan actions
plan_manager = PlanManager()
plan_id = plan_manager.create_plan("My Plan", "Description", ["Task 1", "Task 2"])
plan_manager.complete_item(plan_id, "item_1")
๐ค Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Development Guidelines
- Follow PEP 8 style guidelines
- Add type hints to all functions
- Write docstrings for public methods
- Add tests for new functionality
- Update documentation for new features
๐ Troubleshooting
Common Issues
Installation Problems
# If pip install fails, try upgrading pip
pip install --upgrade pip
pip install -e .
Missing API Keys
# Set OpenAI API key
export OPENAI_API_KEY="your-key-here"
# Verify configuration
nutaan "Test API connection"
Permission Errors
# Check file permissions
ls -la ~/.nutaan_data/
# Reset permissions if needed
chmod 755 ~/.nutaan_data/
chmod 644 ~/.nutaan_data/plans.json
Debug Mode
# Enable debug logging
nutaan --debug "Your query here"
# View detailed error information
nutaan --verbose "Your query here"
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Acknowledgments
- Built with LangChain and LangGraph
- UI powered by Rich
- Inspired by Claude CLI
- Task management inspired by modern todo applications
๐ Support
- ๐ Visit: tecosys.in | nutaan.com
- ๐ง Email: info@tecosys.in
- ๐ Issues: GitHub Issues
- ๐ฌ Discussions: GitHub Discussions
- ๐ Documentation: Wiki
๐ Roadmap
Upcoming Features
- ๐ฑ Mobile companion app - Control Nutaan from your phone
- ๐ Plugin system - Community-driven tool ecosystem
- ๐ Web interface - Browser-based interaction
- ๐ Analytics dashboard - Usage insights and productivity metrics
- ๐ค Team collaboration - Shared plans and project management
- ๐ CI/CD integration - Automated workflows and deployments
Made with โค๏ธ by Tecosys | Explore tecosys.in | Visit nutaan.com
Empowering developers with AI-assisted productivity
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nutaan_cli-1.0.1.tar.gz.
File metadata
- Download URL: nutaan_cli-1.0.1.tar.gz
- Upload date:
- Size: 49.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c5e57d502c8c37726732c7f197d5917aa6b4754378b358746f6fa8003f2519c
|
|
| MD5 |
14136b1bcfdd1dc9751282c587fc8245
|
|
| BLAKE2b-256 |
c0a4039ec67082f006efb4a14f298b2ba32dc602980bd0dee5cc2c0a2a99c38d
|
File details
Details for the file nutaan_cli-1.0.1-py3-none-any.whl.
File metadata
- Download URL: nutaan_cli-1.0.1-py3-none-any.whl
- Upload date:
- Size: 53.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
caa90d832b5d2244812eb64bae1d6dd0b847dae385070031e58d8446494aa686
|
|
| MD5 |
e27c71ea66c843efc24693694faffbbe
|
|
| BLAKE2b-256 |
2e64237128fc0fd6a30d7d9908d9e06209e7ce79ba6080942283be8ebb9d2feb
|