seb-cli-tool
v1.0.25
Published
Hideout CLI
Maintainers
Readme
SEB CLI - Smart Embedded Board Configuration Tool
AI-Powered Embedded Development with Beautiful Terminal Aesthetics
SEB CLI is a revolutionary command-line tool that transforms embedded firmware development through AI-powered codebase understanding, intelligent driver generation, and stunning terminal interfaces.
🚀 Quick Start
# Install SEB CLI globally
npm install -g seb-cli-tool
# Navigate to your firmware project
cd /path/to/your/firmware-project
# Add PDF datasheets (optional)
mkdir datasheets
# Copy your MCU/sensor datasheets to datasheets/ folder
# Process datasheets to markdown
seb process-datasheets
# Index your codebase for AI understanding
seb index
# Start interactive chat with AI
seb chat --interactive
# Ask questions about your codebase
# "What MCU are we using?"
# "How do I configure I2C?"
# "What are the ADC specifications?"✨ Revolutionary Features
🧠 AI-Powered Codebase Understanding
- Semantic Search: Find code by meaning, not just text
- Intelligent Q&A: Ask questions about your firmware in natural language
- Context-Aware Responses: Understands your specific MCU and project
- Anti-Hallucination: Validates sources and warns about unreliable data
📄 Datasheet Integration (NEW!)
- PDF to Markdown: Automatically converts datasheets to searchable format
- MCU Specifications: Ask questions directly from datasheet content
- Sensor Integration: Understand sensor specifications for driver generation
- Local Processing: All datasheet processing happens on your machine
🎨 Beautiful Terminal Aesthetics
- Professional Styling: Cyan headers, color-coded responses, tree structures
- Syntax Highlighting: Proper code formatting with line numbers
- Progress Indicators: Real-time feedback during operations
- Source Attribution: Shows exactly where information comes from
🔧 Intelligent Driver Generation
- MCU-Aware: Generates drivers specific to your MCU family
- Peripheral Support: I2C, UART, SPI, GPIO with proper initialization
- Configuration-Driven: Customize baud rates, clock speeds, modes
- Validation: Built-in driver validation and error checking
🌐 Cloud-First Architecture
- Lightweight Package: Only CLI binary, no bloated MCU definitions
- Always Updated: Latest MCU definitions from cloud registry
- On-Demand Download: Only download MCUs you actually use
- Offline Support: Cache downloaded configurations locally
📦 Installation
Prerequisites
- Node.js 14.0.0 or higher
- No Python installation required (included in binary)
Install CLI
npm install -g seb-cli-toolPackage Size: ~17MB (just the CLI binary, no MCU definitions)
🎮 Core Commands
Chat & AI-Powered Assistance (Primary Interface)
# Interactive chat session (RECOMMENDED)
seb chat --interactive
# Ask single questions
seb chat "what MCU are we using?"
seb chat "how do I configure I2C?"
seb chat "what are the ADC specifications?"
# Direct Q&A without LLM
seb ask "what drivers do we have?"
seb ask "what is the main MCU used?"Codebase Indexing & Search
# Index your codebase for semantic search
seb index
# Search for code patterns
seb search-code "I2C initialization"
seb search-code "GPIO configuration"
# View indexing statistics
seb index-statsDriver Generation
# Generate peripheral drivers
seb generate-driver i2c --mcu LPC5534JBD64 --config "baud-rate:400000"
seb generate-driver uart --mcu STM32F407 --config "baud-rate:115200,mode:8N1"
# Generate complete sensor drivers (NEW!)
seb generate-sensor-driver BME280 --mcu stm32f429zi
seb generate-sensor-driver MPU6050 --mcu stm32f103c8t6
# Validate generated drivers
seb validate-driver drivers/i2c_driver.cDatasheet Processing & Sensor Integration (NEW!)
# Process PDF datasheets to markdown
seb process-datasheets
# Extract sensor metadata (I2C/SPI interfaces, specifications)
seb extract-sensor-metadata
# This converts PDFs in datasheets/ folder to searchable markdown
# Extracts sensor specifications for AI-powered driver generation
# Automatically integrated with indexing🎯 Supported MCUs
SEB CLI supports 20+ MCU families with automatic code generation:
| MCU Family | Examples | Architecture | Status | |------------|----------|--------------|--------| | STM32F4 | STM32F407G, STM32F429ZI | ARM Cortex-M4 | ✅ Supported | | STM32F1 | STM32F103C8T6 | ARM Cortex-M3 | ✅ Supported | | STM32L4 | STM32L476RG | ARM Cortex-M4 | ✅ Supported | | LPC55 | LPC5534JBD64 | ARM Cortex-M33 | ✅ Supported | | AVR | ATMEGA328P, ATMEGA2560 | 8-bit AVR | ✅ Supported | | ESP32 | ESP32-WROOM-32 | Xtensa LX6 | ✅ Supported | | MSP430 | MSP430G2553 | 16-bit MSP430 | ✅ Supported | | MSP432 | MSP432P401R | ARM Cortex-M4F | ✅ Supported |
🔧 Supported Peripherals
- UART: Full UART1/2/3 support with configurable baudrates
- I2C: Master/slave mode with configurable clock speeds
- SPI: Master/slave mode with configurable clock speeds and modes
- GPIO: Input/output configuration with initial states
- ADC: Analog-to-digital conversion with channel configuration
- PWM: Pulse-width modulation with frequency and duty cycle control
🏗️ Project Structure
After running seb init, your project will have:
your_project/
├── datasheets/ # PDF datasheets
├── datasheets_markdown/ # Converted markdown files
├── sensor_metadata/ # Extracted sensor specifications
├── config/
│ └── board_config.yaml # Board configuration
├── src/
│ └── main.c # Main firmware code
├── drivers/ # Generated drivers
│ ├── sensors/ # AI-generated sensor drivers
│ │ └── BME280/
│ │ ├── BME280_driver.h
│ │ ├── BME280_driver.c
│ │ ├── BME280_config.h
│ │ └── BME280_example.c
│ ├── i2c_driver.c
│ ├── uart_driver.c
│ └── spi_driver.c
├── inc/ # Header files
├── build/ # Build output
├── BME280_integration_example.c # Integration examples
└── README.md🚀 Complete User Workflows
🆕 New Project Setup (CMake & PlatformIO)
# 1. Install SEB CLI
npm install -g seb-cli-tool
# 2. Initialize project with CMake (recommended for STM32)
seb init stm32f429zi --cmake -o my_project
# OR initialize with PlatformIO (faster, lighter)
seb init stm32f429zi --pio -o my_project
# 3. Navigate to your project
cd my_project
# 4. Add PDF datasheets (optional)
mkdir datasheets
# Copy your MCU/sensor datasheets to datasheets/ folder
# 5. Process datasheets to markdown
seb process-datasheets
# 6. Extract sensor metadata from datasheets
seb extract-sensor-metadata
# 7. Index your codebase
seb index
# 8. Start interactive chat
seb chat --interactive
# 9. Ask questions about your project
# "What MCU are we using?"
# "How do I configure I2C?"
# "What are the ADC specifications?"🔧 Complete Sensor Integration Workflow
# 1. Add sensor datasheet
cp bme280_datasheet.pdf datasheets/
# 2. Process datasheets to markdown
seb process-datasheets
# 3. Extract sensor metadata (I2C/SPI interfaces, specifications)
seb extract-sensor-metadata
# 4. Generate complete sensor driver
seb generate-sensor-driver BME280 --mcu stm32f429zi
# 5. Review generated files:
# - drivers/sensors/BME280/BME280_driver.h
# - drivers/sensors/BME280/BME280_driver.c
# - drivers/sensors/BME280/BME280_config.h
# - drivers/sensors/BME280/BME280_example.c
# - BME280_integration_example.c
# 6. Build and test
seb build # For CMake projects
# OR
pio run # For PlatformIO projects🎯 Build System Comparison
| Feature | CMake | PlatformIO | |---------|-------|------------| | Speed | Slower (downloads full HAL) | Faster (lightweight) | | Files Analyzed | ~21,000 (full STM32CubeF4) | ~8 (project files only) | | HAL Integration | Complete STM32 HAL library | PlatformIO framework | | Best For | Production, complex projects | Development, prototyping | | Driver Quality | Full HAL-aware drivers | Framework-optimized drivers |
🎨 Terminal Aesthetics
SEB CLI features stunning terminal output with:
- Professional Styling: Cyan headers, color-coded responses
- Tree Structure: Clean
┌─,├─,└─connectors - Syntax Highlighting: Proper code formatting with line numbers
- Progress Indicators: Real-time feedback during operations
- Source Attribution: Shows exactly where information comes from
- Anti-Hallucination: Validates sources and warns about unreliable data
🔒 Security & Privacy
- Local-First: All processing happens on your machine
- No Code Upload: Your code never leaves your computer
- Datasheet Privacy: PDFs processed locally, not uploaded
- Index Storage: All indexes stored locally in
~/.seb/index/ - Optional Analytics: Local analytics with opt-in cloud sharing
🛠️ Development
Building from Source
git clone https://github.com/Root-Access-AI/hideout-cli.git
cd hideout-cli
npm install
npm run build-binaryDevelopment Workflow
# Run the development setup script
./dev_setup.sh setup
# Start local development
./dev_setup.sh start-api # Terminal 1: Start API server
./dev_setup.sh test-cli # Terminal 2: Test CLI📚 Documentation
- Complete Usage Guide - Comprehensive command reference and examples
- Installation Guide - Step-by-step installation instructions
- Demo Guide - Complete setup and usage guide for demos
- Command Reference - Comprehensive list of natural language commands
🎯 What Makes SEB Special
🔧 Eliminates Complex Toolchain
- No STM32Cube IDE - Simple YAML configuration instead
- No STM32CubeMX - Automatic peripheral setup
- No HAL Library Learning - Built-in drivers handle everything
- No Datasheet Reading - Hardware-aware validation
- No Build System Setup - One-command compilation
🤖 AI-Powered Intelligence
- Automatic error detection and fixing
- Self-healing compilation process
- Context-aware error resolution
- Retry logic with intelligent fixes
- Natural language codebase understanding
⚡ Lightning Fast Development
- 1.5 minutes instead of 8-14 weeks
- Zero learning curve for embedded tools
- Production-ready code generation
- PlatformIO integration out of the box
🚀 Advanced Features
Agentic Development
# Autonomous firmware development
seb agent execute "create a temperature monitoring system"
# Get intelligent suggestions
seb agent suggest
# Interactive agentic chat
seb agent chatAnalytics & Insights
# View usage analytics
seb analytics summary
# Performance metrics
seb analytics performance
# Export analytics data
seb analytics export🆘 Support
- Documentation: Check our guides and examples
- Issues: Report bugs on GitHub
- Discussions: Join our community discussions
- Email: [email protected]
📄 License
Proprietary - All rights reserved by Root Access AI.
SEB CLI: Making embedded development as simple as seb chat --interactive 🚀
Experience the future of embedded development with AI-powered codebase understanding and beautiful terminal aesthetics!
