- Add Discord badge and invite link at top of README
- Add 5 new PRs from @illAssad (#18-#22) to contributions table
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Replace context manager pattern with direct cursor assignment
(SQLite cursors don't support context manager protocol)
- Use conn.close() instead of db_manager.return_connection()
(SQLiteManager doesn't have return_connection method)
Fixes 500 error when deleting documents via REST API.
The ingest_directory function was recursively indexing ALL files including
node_modules, which caused:
- Massive index bloat (thousands of irrelevant library files)
- Polluted search results with third-party code
- Very slow indexing times
Added SKIP_DIRECTORIES set with common directories to exclude:
- Package managers: node_modules, vendor, Pods
- Build outputs: dist, build, target, .next, .nuxt
- VCS: .git, .svn, .hg
- Caches: __pycache__, .pytest_cache, .mypy_cache, .cache
- IDE: .vscode, .idea
- Our own: .claude-os
Also added should_skip_path() helper function with wildcard support
for patterns like *.egg-info.
Pin tree-sitter to 0.20.x because tree-sitter-languages 1.10.x is
incompatible with tree-sitter 0.21+. The 0.21+ API changed Parser()
and Language() constructors, causing '__init__() takes exactly 1
argument (2 given)' errors on all file parsing operations.
This fix restores selective indexing functionality which relies on
TreeSitter for code parsing and symbol extraction.
- Fix server blocking issue during semantic indexing by using FastAPI BackgroundTasks
- Add job progress tracking with real-time status updates
- Add /api/jobs and /api/jobs/{job_id} endpoints for monitoring
- Add JobsDashboard component with live progress bars and status indicators
- Add Jobs tab to MainApp for interactive monitoring
- Maintain backward compatibility with background=false option for sync mode
- Include automatic job cleanup to prevent memory leaks
The start script was running `npm run dev` without checking if
node_modules existed, causing "vite: command not found" errors
for new users who hadn't manually run npm install.
Now checks for node_modules and runs npm install automatically
if dependencies are missing.
New command line options:
- --demo: Interactive demo mode (no changes made)
- --dry-run: Preview what would be done without doing it
- --help/-h: Show usage information
- --version/-v: Show version number
- --force/-f: Skip confirmation prompts
Safety improvements:
- Automatic backup of .env and config.json before overwriting
- Backups saved as filename.backup.YYYYMMDD_HHMMSS
- Dry-run shows all actions that would be taken
- Demo mode lets users see the beautiful UI safely
Version bumped to 2.2.0
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Detect gum and offer to install for enhanced UX
- Add wrapper functions with graceful bash fallback:
- gum_choose: Interactive option selection
- gum_confirm: Yes/no prompts
- gum_input: Text input
- gum_password: Hidden input
- gum_spin: Animated spinners
- gum_style_box: Styled boxes
- Works perfectly without gum, beautiful with it
- Supports macOS (Homebrew), Debian/Ubuntu (apt), and Go install
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
✨ New Features:
- Beautiful CLI installer (setup-claude-os.sh) with ASCII art,
progress bars, spinners, and styled prompts
- Choose between Local (Ollama) or Cloud (OpenAI) providers
- Lite model (llama3.2:3b) as default - faster download, works on more machines
- Full model (llama3.1:8b) option for users who want better quality
- OpenAI API support for users who prefer cloud
🔧 Changes:
- setup.sh and install.sh now redirect to setup-claude-os.sh
- config.py updated with provider support and new defaults
- Works on both macOS and Linux
📦 Default Model Change:
- Before: llama3.1:latest (8B, 4.7GB download)
- After: llama3.2:3b (3B, 2GB download)
This makes Claude OS accessible to more users with smaller machines
while still offering the full experience for power users.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Previously, if ~/.claude already existed from a prior Claude Code
installation, the install script would skip creating the commands/
and skills/ subdirectories. This caused symlink creation to fail
silently, leaving users without access to /claude-os-init and other
commands.
This fix ensures the subdirectories are always created, regardless
of whether ~/.claude already exists.
Fixes issue where /claude-os-init command was not available after
running install.sh on systems with existing ~/.claude directory.
Fixes#7
- Add frontend/src/lib/auth.tsx with AuthProvider and useAuth hook
- Add frontend/src/lib/api.ts with chat, getKBStats, listDocuments, etc.
- Add frontend/src/lib/filePicker.ts with path utilities
- Update .gitignore to not ignore frontend/src/lib/
These files were imported but never committed, preventing fresh
installations from building the frontend.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add OS and package manager detection (apt, dnf, yum, pacman)
- Skip installation if Ollama/Redis already installed
- Use direct daemon execution instead of sudo for service start
- Update help messages with Linux package manager instructions
- Update README to reflect Linux support
Tested on Ubuntu with apt and systemctl.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Removed deployment/mcp-only/* because it conflicts with our export-based
architecture for ServiceBot integration.
Why removed:
- MCP-only requires Claude OS MCP server running in production
- Export approach is simpler: SQLite file → ServiceBot (standalone)
- No runtime dependency on Claude OS
- Better aligns with "ServiceBot is standalone" design goal
What we're keeping (export approach):
- app/core/knowledge_exporter.py
- templates/commands/claude-os-export.md
- docs/EXPORT_FORMAT_SPEC.md
- docs/CLAUDE_OS_FAMILY.md
- docs/PISTN_API_INTEGRATION_PLAN.md
- docs/VECTOR_SEARCH_OPTIMIZATION.md
ServiceBot integration is export-based:
Claude OS → Export SQLite → ServiceBot reads directly (no API calls)
This commit adds a complete deployment solution for running Claude OS's
MCP (Model Context Protocol) server as a standalone service, separate
from the full coding environment. This allows other applications to
access the knowledge bases without requiring the CLI or coding tools.
Features:
- Docker-based deployment with Ollama integration
- Automated setup script with model pulling
- Read-only database mounting by default
- CORS and authentication configuration
- Complete API documentation and examples
- Python and JavaScript client examples
Also includes alternative Cloudflare Workers implementation:
- TypeScript starter template
- D1 and Vectorize integration examples
- Migration scripts and documentation
- Deployment comparison guide
Files added:
- deployment/mcp-only/Dockerfile
- deployment/mcp-only/docker-compose.yml
- deployment/mcp-only/requirements.txt
- deployment/mcp-only/setup.sh
- deployment/mcp-only/.env.example
- deployment/mcp-only/.dockerignore
- deployment/mcp-only/README.md
- deployment/mcp-only/DEPLOYMENT_COMPARISON.md
- deployment/mcp-only/examples/chat-integration.py
- deployment/mcp-only/examples/chat-integration.js
- deployment/mcp-only/cloudflare-workers/*
This addresses the need to expose MCP data to other applications
(knowledge base access, live chat) without deploying the full
Claude OS environment to production servers.
Consolidated duplicate architecture sections by removing the ASCII
architecture diagram section (lines 649-688) while keeping the
comprehensive Architecture Overview section with SVG diagram.
The Template System section has been promoted to its own top-level
section for better organization.