AI complete me.
Project description
aicm - AI Complete Me
A local-first, privacy-focused code completion CLI tool for developers who want AI assistance without sending their code to the cloud.
Installation & Quick Start
Get up and running in under 60 seconds. No API keys, no cloud, no nonsense.
1. Install
# Via pip
pip install aicm
# Or blazing fast with uv
uv pip install aicm
2. Download Model (One-time)
aicm --install
Downloads the default Qwen2.5-Coder-0.5B model (~400M) locally. Your code never leaves your machine.
3. Start Completing
# Pipe a function stub
echo "def fibonacci(n):" | aicm
That's it. No config files, no sign-ups, no telemetry. Just pure local AI completion.
🚧 Work In Progress
This project is in active development. Core features are being implemented and APIs may change. Follow the progress and contribute!
🎯 Concept & Vision
acim is designed to be the Unix-philosophy code completion tool:
- Local-only: Your code never leaves your machine
- Lightweight: Optimized for Apple Silicon and modern hardware
- Fast: Instant suggestions with efficient models
- Out-of-the-box: default is best, no configuration needed in most cases
- Composable: Works with pipes, files, and editor integrations
- Hackable: Simple Python codebase, easy to customize
Philosophy
$ echo "def quick_sort(arr):" | acim
def quick_sort(arr):
if len(arr) <= 1:
return arr
else:
pivot = arr[len(arr) // 2]
left = [x for x in arr if x < pivot]
middle = [x for x in arr if x == pivot]
right = [x for x in arr if x > pivot]
return quick_sort(left) + middle + quick_sort(right)
Just like cat, grep, or sed — aicm does one thing well: complete your code.
✨ Planned Features
Core
- Pipe-based input (
echo "..." |acim) - Fill-in-the-middle (FIM) completion
- Single-line suggestions
- simple indent handle
- Daemon mode (persistent model in memory)
- Configuration file support
Models
- Qwen2.5-Coder-0.5B (default)
- Qwen2.5-Coder-1.5B (more powerful option)
- Custom GGUF model support
- Automatic model downloading
Integrations
- (Neo)vim plugin
- VSCode extension
- LSP protocol support
🛤️ Roadmap
Phase 1: Foundation (Current)
- Basic completion via stdin
- Model loading and inference
- Indentation handling
- Configuration system
- Error handling & logging
- Installation via pip, uv...
Phase 2: Usability
- Daemon mode for instant response
- Model management (download, switch)
- Shell completions
Phase 3: Ecosystem
- Editor plugins
- LSP server mode
- Multi-language support beyond Python
- Fine-tuning capabilities
💡 Use Cases
Quick prototyping
# Start a new function
echo "def calculate_fibonacci(n):" |acim
🖥️ System Requirements
- macOS: Apple Silicon (M2/M3...) - Fully supported ✅
- macOS: Intel - Work in progress 🚧
- Linux: x86_64 or ARM64 - Work in progress 🚧
- RAM: 4GB+ (for 1.5B model), 2GB+ (for 0.5B model)
- Python: 3.10+
- Storage: ~1.5GB for models
🤝 Contributing
This is a passion project. Contributions, ideas, and feedback are welcome!
📄 License
MIT License - see LICENSE for details.
Made with for the local-first AI movement.
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
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 aicm-0.1.41.tar.gz.
File metadata
- Download URL: aicm-0.1.41.tar.gz
- Upload date:
- Size: 5.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
af3629337096aab74f93756fd7416cb3bb98afa2544ef674365938a406a83862
|
|
| MD5 |
00fe41e4620f3bd0e77039a347f3e3cc
|
|
| BLAKE2b-256 |
01a7ae71d7ba58f237706d9ee00099f45f81b9004b17fca48adde3610c67a3c2
|
File details
Details for the file aicm-0.1.41-py3-none-any.whl.
File metadata
- Download URL: aicm-0.1.41-py3-none-any.whl
- Upload date:
- Size: 5.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c4d95b08c7ea97f6a03189f627bc6e509a4f92d7745bb17e5e299cf500951345
|
|
| MD5 |
f7142e789a3cab24481f7b3f7fad8c86
|
|
| BLAKE2b-256 |
61b2eaa0bc75431139aeed8c4fc5b0078946fd6ab9d059df0653bb5082aad5ac
|