LocalAIbundle installs and maintains a fully local AI coding stack for macOS Apple Silicon. It sets up Ollama, coding models, VS Code, Continue.dev, diagnostics, repair tooling, and offline bundle support with no cloud accounts or API keys.
Your code stays on your machine.
| Capability | Details |
|---|---|
| Local inference | Ollama on localhost:11434 with Apple Metal acceleration |
| IDE integration | VS Code + Continue.dev for chat, autocomplete, inline edits, and codebase context |
| Hardware-aware profiles | Automatically selects models by RAM, or accepts explicit profile/model overrides |
| Safe configuration | Backs up existing Continue config and VS Code settings before writing |
| Diagnostics | doctor checks Ollama, models, LaunchAgent, VS Code, Continue, config, and telemetry |
| Repair mode | repair fixes common stale or missing setup pieces |
| Offline workflow | bundle packages the repo and local Ollama model cache for air-gapped installs |
| Config validation | validate-config checks the generated Continue YAML shape and required roles |
| Install reports | Writes JSON reports under ~/.localaibundle/ for auditing and troubleshooting |
| Support bundles | issue-report creates a redacted archive for troubleshooting |
| CI coverage | Bash syntax, ShellCheck, whitespace checks, and unit tests run in GitHub Actions |
- macOS on Apple Silicon (M1/M2/M3/M4)
- 16GB RAM minimum, 32GB+ recommended
- 20GB+ free disk space for the default profile
- Internet connection for the first model download
git clone https://github.com/DevenDucommun/LocalAIbundle.git
cd LocalAIbundle
chmod +x install.sh
# Preview without making changes
./install.sh --dry-run
# Install the default local coding stack
./install.sh installPackage-manager installs expose the same interface as localaibundle. From a clone, you can use bin/localaibundle as that stable command wrapper.
./install.sh doctor
./install.sh doctor --json
./install.sh test
./install.sh self-test --no-networkThe default auto profile selects models by RAM. You can also choose a profile explicitly.
| Profile | Completion | Chat/Edit | Best For |
|---|---|---|---|
auto |
RAM-based | RAM-based | Most users |
fast |
qwen2.5-coder:1.5b |
qwen2.5-coder:3b |
Lightweight laptops |
balanced |
qwen2.5-coder:1.5b |
qwen2.5-coder:7b |
16GB machines |
professional |
qwen2.5-coder:3b |
qwen2.5-coder:14b |
Daily coding on 24GB+ |
agentic |
qwen2.5-coder:3b |
qwen3-coder:30b |
Larger coding tasks and long-context work |
max |
qwen2.5-coder:7b |
qwen2.5-coder:32b |
High-memory machines |
Automatic RAM tiers:
| RAM | Completion | Chat/Edit |
|---|---|---|
| 16-23GB | qwen2.5-coder:1.5b |
qwen2.5-coder:7b |
| 24-47GB | qwen2.5-coder:3b |
qwen2.5-coder:14b |
| 48GB+ | qwen2.5-coder:7b |
qwen2.5-coder:32b |
Example overrides:
./install.sh install --profile agentic
./install.sh install --chat-model qwen3-coder:30b --completion-model qwen2.5-coder:3b./install.sh install # Install and configure the full stack
./install.sh doctor # Diagnose local setup without changing anything
./install.sh repair # Fix common setup/configuration issues
./install.sh status # Print component status
./install.sh status --json # Print machine-readable status
./install.sh test # Run inference smoke tests
./install.sh self-test # Run non-mutating installer/release checks
./install.sh issue-report # Create a redacted troubleshooting archive
./install.sh validate-config # Validate Continue config for the selected profile
./install.sh bundle # Create an offline bundle
./install.sh uninstall # Remove LocalAIbundle components
./install.sh --help # Show all commands and flagsUseful install modes:
./install.sh install --models-only
./install.sh install --config-only
./install.sh install --no-vscode
./install.sh install --no-continue
./install.sh install --no-launchagent
./install.sh install --no-model-pull
./install.sh uninstall --preserve-models
./install.sh uninstall --preserve-config
./install.sh issue-report --issue-output localai-report.tgzCreate a bundle on a machine that already has the desired Ollama models:
./install.sh bundle --profile professional --output LocalAIbundle-offline-professional.tar.gzMove the tarball to the offline Mac, then run:
./install.sh install --offline LocalAIbundle-offline-professional.tar.gzThe offline bundle includes the installer, docs, manifest, and local Ollama model cache when ~/.ollama/models exists.
- FAQ
- Privacy and security model
- Troubleshooting
- Model profile guide
- Manual setup comparison
- Packaging
- macOS QA checklist
VS Code + Continue.dev
| chat, edit, autocomplete, @codebase
v
Ollama on localhost:11434
| local model files in ~/.ollama
v
Apple Silicon / Metal GPU
Generated files:
| Path | Purpose |
|---|---|
~/.continue/config.yaml |
Continue.dev local model configuration |
~/Library/LaunchAgents/com.localai.ollama.plist |
Ollama auto-start on login |
~/.localaibundle/install-report-*.json |
Install diagnostics and selected model report |
~/.continue/config.yaml.bak.* |
Timestamped backup of previous Continue config |
LocalAIbundle-issue-report-*.tar.gz |
Redacted local troubleshooting archive, only when requested |
- Ollama inference runs locally.
- Continue is configured to use local Ollama models.
- Continue telemetry is disabled in VS Code settings.
- No API keys or cloud accounts are required.
- After the first install or an offline bundle import, the stack can run without internet.
Run the same checks as CI:
bash -n install.sh
shellcheck install.sh bin/localaibundle tests/run.sh tests/install-sandbox.sh scripts/package-release.sh scripts/package-pkg.sh scripts/package-dmg.sh scripts/notarize-artifact.sh scripts/notarize-pkg.sh scripts/demo.sh scripts/docker-test.sh
python3 -m py_compile scripts/*.py
bash tests/run.sh
bash tests/install-sandbox.sh
bash scripts/package-release.sh
git diff --checkThe unit test harness uses LOCALAIBUNDLE_SOURCE_ONLY=true plus LOCALAIBUNDLE_TEST_* hardware overrides so model selection and config generation can be tested on non-macOS CI runners without touching a real installation.
The sandbox install test creates a temporary HOME and fake ollama, code, curl, brew, and launchctl commands. It runs a non-dry-run install, doctor, and inference smoke test without modifying the developer machine.
Create release artifacts:
bash scripts/package-release.shThis writes dist/LocalAIbundle-<version>.tar.gz, a matching .sha256 checksum, and a release manifest.
Package scaffolding:
# Developer-friendly package-manager path
cp packaging/homebrew/localaibundle.rb /path/to/homebrew-localai/Formula/
# Native macOS package, unsigned unless SIGN_IDENTITY is set
bash scripts/package-pkg.sh
# DMG containing the package installer, unsigned until notarized
bash scripts/package-dmg.shHomebrew tap instructions should be published only after the tap exists and its formula passes brew test.
Docker can run Linux-portable checks:
docker build -f Dockerfile.test -t localaibundle-test .
docker run --rm localaibundle-testDocker does not validate macOS LaunchAgents, VS Code app layout, Apple Silicon detection, signing, or notarization.
Record a terminal demo:
bash scripts/demo.shManual macOS QA steps live in docs/macos-qa.md.
./install.sh uninstallRemoves the user-local Ollama app, downloaded models, LocalAIbundle LaunchAgent, Continue.dev extension, and Continue config. It does not remove VS Code itself.