Skip to main content

A powerful ReAct Python Assistant with AI capabilities

Project description

Nutaan CLI - Your AI Developer Assistant in the Terminal ๐Ÿš€

Python License Version

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

Nutaan CLI 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:

  1. Get API Key: Visit nutaan.com and create an API key in Settings
  2. Create Environment File: Create a .env file 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
  1. Run with Environment: Use the -e flag 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

  1. 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
  1. Add to nutaan/tools/__init__.py:
from .my_custom_tool import MyCustomTool
__all__ = [..., "MyCustomTool"]
  1. Import in nutaan/core/agent_manager.py and 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

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. 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

๐Ÿ“ž Support

๐Ÿš€ 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

Star History Chart


Made with โค๏ธ by Tecosys | Explore tecosys.in | Visit nutaan.com

Empowering developers with AI-assisted productivity

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nutaan_cli-1.0.1.tar.gz (49.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nutaan_cli-1.0.1-py3-none-any.whl (53.0 kB view details)

Uploaded Python 3

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

Hashes for nutaan_cli-1.0.1.tar.gz
Algorithm Hash digest
SHA256 0c5e57d502c8c37726732c7f197d5917aa6b4754378b358746f6fa8003f2519c
MD5 14136b1bcfdd1dc9751282c587fc8245
BLAKE2b-256 c0a4039ec67082f006efb4a14f298b2ba32dc602980bd0dee5cc2c0a2a99c38d

See more details on using hashes here.

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

Hashes for nutaan_cli-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 caa90d832b5d2244812eb64bae1d6dd0b847dae385070031e58d8446494aa686
MD5 e27c71ea66c843efc24693694faffbbe
BLAKE2b-256 2e64237128fc0fd6a30d7d9908d9e06209e7ce79ba6080942283be8ebb9d2feb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page