Project Status (as of 2025-04-25 23:57:54)
The Arduino Project Processor now features a modern browser extension integration:
- Chrome/Edge browser extension for right-click processing of GitHub/GitLab URLs
- Interactive raspi-config-like terminal UI for project configuration
- Enhanced repository handling supporting GitHub/GitLab URLs (HTTPS/SSH) and Git commands
- SSH authentication for private repository access with automatic key management
- Complete Poetry-based dependency management with virtual environment isolation
- Multi-provider AI integration with DeepSeek, Claude, and GPT for documentation enhancement
- Intelligent board detection with arduino-cli integration for accurate FQBN selection
MCP Server was initialized
Recent Changes (as of 2025-04-25 23:57:54)
- KDE Desktop Integration:
- Converted from filesystem monitoring to KDE right-click integration
- Added raspi-config-like terminal UI for interactive project processing
- Enhanced repository handling for GitHub and GitLab URLs (HTTPS/SSH)
- Implemented automatic SSH key authentication for private repositories
- Board Detection Enhancements:
- Added integration with arduino-cli for comprehensive board listings
- Improved FQBN selection with dynamic board family grouping
- Enhanced project name customization with editable defaults
- UI Improvements:
- Created streamlined configuration dialog with keyboard navigation
- Added progress indicators for repository cloning and processing stages
- (see docs/generated/change_summary.md for more details)
A Python system for automatically processing and organizing Arduino projects cloned from GitHub repositories.
- Monitors a directory for new GitHub/GitLab Arduino project clones
- Automatically detects Arduino board types using AI and pattern matching
- Creates structured folder hierarchies with standardized naming
- Provides dual compatibility for Arduino IDE and PlatformIO
- Generates enhanced documentation using AI (Claude/GPT/DeepSeek)
- Runs as a background service or command-line utility
- Python 3.9 or higher
- arduino-cli installed and configured
- At least one AI API key (Claude/GPT/DeepSeek)
- Clone this repository: git clone https://github.com/yourusername/arduino-processor.git cd arduino-processor Copy
- Create a virtual environment: python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate Copy
- Install dependencies: pip install -r requirements.txt Copy
- Copy the example environment file and configure it:
cp .env.example .env
CopyEdit
.envto include your API keys and customize paths.
To run as a background service on Linux:
- Copy the service file to your user's systemd directory: mkdir -p ~/.config/systemd/user/ cp systemd/arduino-processor.service ~/.config/systemd/user/ Copy
- Enable and start the service: systemctl --user enable arduino-processor systemctl --user start arduino-processor Copy
Start monitoring for new projects: arduino-processor Process existing projects: arduino-processor --process-existing Process a specific project: arduino-processor --process /path/to/project Copy
~/Arduino/incoming_clones/: Directory to place GitHub clones~/Arduino/Projects/: Output directory for processed projects~/Arduino/logs/: Log files directory
Set the following environment variables in your .env file:
ANTHROPIC_API_KEY: API key for Claude AIOPENAI_API_KEY: API key for OpenAI GPTDEEPSEEK_API_KEY: API key for DeepSeek AIARDUINO_WATCH_DIR: Directory to monitor for new projectsARDUINO_PROJECTS_DIR: Output directory for processed projects
- Install development dependencies: pip install -e ".[dev]" Copy
- Run tests: pytest Copy
[Your chosen license]