OpenCode Nexus

A secure, cross-platform client application for connecting to OpenCode servers started with opencode serve, powered by Tauri v2 (Rust), Astro + Svelte (Bun), and real-time API integration.
π Features
- Native OpenCode Client - Connect to OpenCode servers started with
opencode serve with a beautiful native interface
- Real-Time Chat Interface - Seamless AI conversation experience with instant message streaming
- Cross-Platform Support - iOS (TestFlight ready), Android (prepared), and Desktop (macOS, Windows, Linux)
- Secure Authentication - Argon2 password hashing, account lockout protection, encrypted local storage
- Session Management - Persistent conversation history with search and context preservation
- Accessibility First - WCAG 2.2 AA compliant with full screen reader and keyboard navigation support
π οΈ Tech Stack
- Backend: Tauri v2 (Rust) for cross-platform client integration and API communication
- Frontend: Astro with Svelte islands for modern, responsive chat interface
- Package Manager: Bun for frontend dependencies and runtime
- API Integration: RESTful API client with Server-Sent Events for real-time streaming
- Security: Argon2 authentication, TLS 1.3, encrypted local storage
π Prerequisites
- OpenCode Server: Start an OpenCode server on any machine with OpenCode installed using
opencode serve (or opencode --server in older versions)
- Operating System: iOS 14.0+, macOS 10.15+, Windows 10+, or Ubuntu 18.04+
- Memory: 4GB RAM minimum, 8GB recommended
- Storage: 1GB available disk space
- Network: Internet connection for server communication
π Quick Start
Starting an OpenCode Server
First, ensure you have OpenCode installed on a server machine. Start the server:
# On the machine where you want to run the OpenCode server
opencode serve --port 3000 --hostname 0.0.0.0
This will start an OpenCode server that the client can connect to. Note the server's IP address or hostname for client configuration.
Installation
iOS (TestFlight)
- Request TestFlight access through the GitHub Issues
- Install TestFlight app from the App Store
- Accept invitation and install OpenCode Nexus
- Launch and configure your OpenCode server connection
Desktop
- Download the latest release for your platform from the releases page
- Install the application following platform-specific instructions
- Launch OpenCode Nexus and connect to your OpenCode server
Development Setup
# Clone the repository
git clone https://github.com/opencode-nexus/opencode-nexus.git
cd opencode-nexus
# Install frontend dependencies
cd frontend
bun install
# Start frontend development server
bun run dev
# In another terminal, start Tauri development
cd ..
cargo tauri dev
Building for Production
# Build frontend
cd frontend
bun run build
# Build Tauri application
cd ..
cargo tauri build
π¦ Release Process
OpenCode Nexus uses automated releases via GitHub Actions.
For Users
Download the latest release for your platform:
- Linux:
.AppImage (universal) or .deb (Debian/Ubuntu)
- macOS:
.dmg (Intel and Apple Silicon)
- Windows:
.msi installer or .exe portable
Visit the Releases page to download.
For Maintainers
Releases are automatically built and published when a version tag is pushed:
# Create and push a version tag
git tag v0.1.0
git push origin v0.1.0
This triggers the release workflow which:
- Builds cross-platform binaries (Linux, macOS, Windows)
- Runs all quality gates and security scans
- Creates a GitHub Release with all assets
- Generates checksums for verification
See CONTRIBUTING.md for detailed release guidelines.
π Documentation
Comprehensive documentation is available in the /docs/client/ directory:
π§ Development
Project Structure
opencode-nexus/
βββ frontend/ # Astro + Svelte frontend (Bun)
βββ src-tauri/ # Tauri Rust backend
βββ docs/ # Project documentation
βββ status_docs/ # Project status and tracking
β βββ TODO.md # Task tracking
β βββ CURRENT_STATUS.md # Detailed status
βββ README.md # This file
βββ CHANGELOG.md # Version history
βββ LICENSE # Project license
Development Commands
# Frontend development
cd frontend
bun run dev # Start development server
bun run build # Build for production
bun run test # Run tests
bun run test:e2e # Run end-to-end tests
bun run lint # Lint code
bun run type-check # TypeScript type checking
# Backend development
cargo tauri dev # Start Tauri development
cargo tauri build # Build Tauri application
cargo test # Run Rust tests
cargo clippy # Run linter
Testing
This project follows Test-Driven Development (TDD) as required by our development standards:
- Unit Tests: Frontend (Vitest) and backend (Rust test framework)
- Integration Tests: Component and API integration testing
- End-to-End Tests: Playwright for full user journey validation
- Accessibility Tests: WCAG 2.2 AA compliance validation
- Security Tests: Automated vulnerability scanning and security testing
π Security
OpenCode Nexus is built with security by design:
- Authentication: Argon2 password hashing with account lockout protection
- Encryption: TLS 1.3 for all server communications, AES-256 for local data
- Session Security: Secure session management with automatic timeout
- Data Privacy: Local data storage with encryption, no data sharing without consent
- Audit Logging: Comprehensive activity logging and monitoring
Reporting Security Vulnerabilities
We take security seriously. If you discover a security vulnerability, please report it responsibly:
- Do NOT open a public GitHub issue
- Report via GitHub Security Advisories
- Or email: security@opencode-nexus.example.com
For detailed information, see our Security Policy.
Response Timeline:
- Initial response: Within 48 hours
- Status update: Within 7 days
- Fix timeline: Based on severity (critical: 7 days, high: 30 days, medium: 90 days)
π€ Contributing
We welcome contributions from the community! Please see our Contributing Guidelines for details.
CI/CD Pipeline
This project uses automated workflows to ensure code quality and security:
- Quality Gate: Runs on all PRs - linting, testing, coverage checks, builds
- Security Scan: Automated vulnerability scanning (Trivy, CodeQL, audit tools)
- License Check: Ensures all dependencies comply with approved licenses
- Release Build: Automated cross-platform builds on version tags
All checks must pass before code can be merged. See CONTRIBUTING.md for details.
Development Standards
This project follows strict development standards:
- Test-Driven Development (TDD) - Write tests before implementing features
- Security First - All code must pass security reviews
- Accessibility - WCAG 2.2 AA compliance required
- Code Quality - Comprehensive testing and linting
- Documentation - Maintain comprehensive documentation
Getting Started
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature)
- Write tests first (TDD requirement)
- Implement your feature
- Test thoroughly
- Commit your changes (
git commit -m 'Add amazing feature')
- Push to the branch (
git push origin feature/amazing-feature)
- Open a Pull Request
π License
This project is licensed under the MIT License - see the LICENSE file for details.
π Support
Getting Help
- Documentation: Check the
/docs/ directory
- Issues: Report bugs and request features on GitHub Issues
- Discussions: Join community discussions on GitHub Discussions
- Wiki: Check the GitHub Wiki for additional resources
πΊοΈ Roadmap
- v0.1.0 - iOS client with TestFlight distribution β
- v0.2.0 - Android client release
- v0.3.0 - Desktop client enhancements
- v1.0.0 - Production-ready with enterprise features
π Acknowledgments
- OpenCode Team - For the amazing OpenCode AI coding assistant
- Tauri Team - For the excellent cross-platform framework
- Astro Team - For the modern web framework
- Svelte Team - For the reactive component framework
- Bun Team - For the fast JavaScript runtime
OpenCode Nexus - Democratizing access to AI-powered coding assistance through beautiful, secure native clients.
Made with β€οΈ by the OpenCode Nexus community.
This project supports both Claude Code and MCP integration.
Claude Code Users
Use native slash commands:
/research, /plan, /execute, /test, /document, /commit, /review
Commands are in .claude/commands/.
Use MCP tools:
research, plan, execute, test, document, commit, review
Setup MCP Server:
bun run /path/to/codeflow/mcp/codeflow-server.mjs
Commands are in .opencode/command/.
Universal Workflow
- Research β 2. Plan β 3. Execute β 4. Test β 5. Document β 6. Commit β 7. Review