Roadmap & Future Improvements
Planned features and development roadmap for Orbis
This page outlines the planned features, improvements, and development priorities for Orbis. Items are organized by priority and category.
Summary of Pending Features
The table below provides a comprehensive overview of all planned features across all priority levels. This table is automatically updated by GitHub Actions to sync with real issue and PR data.
| Priority | Feature | Status | Issues / PRs |
|---|---|---|---|
| High | Publish orbis-plugin-api to crates.io | Done | Workflow |
| High | Deploy docs to GitHub Pages | Done | Issue |
| High | Build & Release Tauri Binaries with auto-updates | Planned | Search |
| High | Automated Testing CI/CD | Planned | Search |
| High | Plugin Packages System | Planned | Search |
| High | Pre-installed & Pre-enabled Plugins | Planned | Search |
| High | Plugin Permissions & Graphical Modal | Planned | Search |
| High | Plugin Lockdown Mode | Planned | Search |
| High | Non-removable & Non-disablable Plugins | Planned | Search |
| High | Plugin-to-Plugin IPC | Planned | Search |
| High | Shared State Between Plugins | Planned | Search |
| High | Plugin Filesystem API | Planned | Search |
| High | Full GUI Override Capability | Planned | Search |
| High | Pest-based DSL for Page Definitions | WIP | Search |
| High | Plugin Metadata DSL | WIP | Search |
| Medium | Remove Dead Plugin State Persistence Code | Planned | Search |
| Medium | Encrypted Data at Rest | Planned | Search |
| Medium | Encrypted Configuration Files | Planned | Search |
| Medium | Hardcoded Default CLI Variables | Planned | Search |
| Medium | Configuration Validation | Planned | Search |
| Medium | Wire Up All Features in Default GUI | Planned | Search |
| Medium | Fix Plugin Refresh Button | Planned | Search |
| Medium | Improved Plugin Loading Screen | Planned | Search |
| Medium | Audit All Documentation | Planned | Search |
| Medium | Complete Missing Documentation | Done | Search |
| Medium | Documentation for New Features | Planned | Search |
| Medium | Audit for Unused Code | Planned | Search |
| Medium | Consolidate Duplicate Code | Planned | Search |
| Medium | Implement Missing Runtime Functions | Planned | Search |
| Medium | Add Comprehensive Tests | Planned | Search |
| Medium | Error Handling Improvements | Planned | Search |
| Medium | Renderer Performance Optimization | Planned | Search |
| Medium | Database Performance | Planned | Search |
| Medium | Security Audit | Planned | Search |
| Medium | Dependency Security | Planned | Search |
| Medium | Secrets Management | Planned | Search |
| Low | Plugin Discovery & Marketplace | Planned | Search |
| Low | Plugin Auto-updates | Planned | Search |
| Low | Plugin Development Tools | Planned | Search |
| Low | Analytics & Telemetry | Planned | Search |
| Low | Internationalization (i18n) | Planned | Search |
High Priority
CI/CD & Automation
GitHub Actions: Publish orbis-plugin-api to crates.io
Status: Done - Workflow implemented at .github/workflows/publish-plugin-api.yml
Features:
- Triggers on tag creation (
orbis-plugin-api-v*.*.*) or path changes - Automated version bump detection (checks crates.io API)
- Validates tag version matches Cargo.toml
- Runs tests before publishing
- Manual workflow dispatch with dry-run option
- Creates GitHub Release automatically
- Updates README with crates.io badge
GitHub Actions: Deploy docs to GitHub Pages
- Status: Done - Workflow implemented at
.github/workflows/deploy-docs.yml - Trigger on changes to
docs/** - Build Astro site
- Deploy to
gh-pagesbranch - Set up custom domain (optional)
GitHub Actions: Build & Release Tauri Binaries
- Trigger on version tags or release branches
- Multi-platform builds (Linux, macOS, Windows)
- Sign binaries for macOS/Windows
- Upload to GitHub Releases
- Generate auto-update manifests (Tauri updater format)
- Test auto-update flow in staging
GitHub Actions: Automated Testing
- Run Rust tests on PR
- Run TypeScript/Playwright tests
- Code coverage reporting
- Clippy lints
- cargo deny for dependency audits
Plugin System Enhancements
Plugin Packages System
- Define package manifest format (collection of plugins)
- Implement package installation/removal
- Support dependencies between plugins in packages
- Package registry/marketplace structure
Pre-installed & Pre-enabled Plugins
- Configuration mechanism for default plugins
- Bundle specific plugins with distribution
- Mark plugins as “system plugins” (non-removable)
Plugin Permissions & Security
- Add graphical modal for permission requests
- Permission types: filesystem, network, database, IPC, etc.
- Skip permission prompts for pre-installed plugins
- Store permission grants persistently
- Revoke permissions UI in settings
Plugin Lockdown Mode
- Configuration to block loading additional plugins
- Configuration to block installing new plugins
- Environment variable + CLI flag support
- UI indication when locked down
Non-removable & Non-disablable Plugins
- Add
system: trueflag to plugin metadata - Enforce restrictions in plugin manager
- UI: hide remove/disable buttons for system plugins
- Documentation for enterprise deployments
Inter-Plugin Communication
Plugin-to-Plugin IPC
- Define message passing API
- Event bus for plugin communication
- Permission model for cross-plugin access
- Examples in documentation
Shared State Between Plugins
- Optional shared Zustand store mechanism
- Namespace isolation
- Conflict resolution strategies
Filesystem Access
Plugin Filesystem API
- WASI filesystem access for plugins
- Sandboxed directory access (scoped to plugin data)
- Permission model for broader filesystem access
- Read/write/list operations
- File upload/download actions in UI schemas
GUI Override System
Full GUI Override Capability
- Allow plugins to replace entire layout
- Override navigation/sidebar
- Custom authentication screens
- Hook into app lifecycle (startup, shutdown)
- Example “kiosk mode” plugin
Meta-Language for Schemas
Pest-based DSL for Page Definitions
- Design cleaner syntax than JSON
- Parser implementation with pest
- Transpiler to JSON schema
- VSCode extension for syntax highlighting
- Migration guide from JSON
Plugin Metadata DSL
- Cleaner format for manifest.json
- Support comments and documentation inline
- Validation at compile time
Core Improvements
Data Persistence & Security
Remove Dead Plugin State Persistence Code
- Audit
orbis/src/lib/state.tsfor unused disk persistence - Remove non-functional localStorage/file writes
- Clean up stale imports and utilities
Encrypted Data at Rest
- Default encryption for SQLite database
- Default encryption for plugin data directories
- Configurable via
ORBIS_ENCRYPTION_KEYenv var - CLI flag:
--encryption-keyor--encryption-key-file - Key derivation from user password (optional)
- Documentation for key management
Encrypted Configuration Files
- Encrypt sensitive config values
- Support for encrypted env files
- Secure credential storage
Configuration & Defaults
Hardcoded Default CLI Variables
- Config file format (TOML/JSON) for defaults
- Precedence: CLI args > env vars > config file > hardcoded
- Location:
~/.config/orbis/defaults.tomlor in-app config - Include in distribution for enterprise deployments
Configuration Validation
- Schema validation for config files
- Clear error messages for invalid configs
- Config validation CLI command
UI/UX Improvements
Wire Up All Features in Default GUI
- Plugin permissions management screen
- Package installation UI
- Filesystem access controls
- Plugin lockdown toggle
- Encryption settings
Fix Plugin Refresh Button
- Re-scan plugins directory
- Reload plugin manifests
- Update plugin list UI
- Handle new/removed/updated plugins
- Show diff of changes
Improved Plugin Loading Screen
- Better error messages
- Plugin load progress indicators
- Retry failed plugins
- Logs viewer for debugging
Documentation
Correctness & Completeness
Audit All Documentation
- Verify code examples compile and run
- Check all API signatures match current implementation
- Update screenshots/demos
- Fix broken internal links
Missing Documentation
- Complete plugin API reference
- Action system comprehensive guide
- State management deep dive
- Security & permissions guide
- Deployment guide (Docker, systemd, etc.)
- Troubleshooting section
Documentation for New Features
- Plugin packages guide
- Inter-plugin communication examples
- Filesystem access tutorial
- GUI override examples
- Encryption setup guide
Code Quality & Maintenance
Dead Code Removal
Audit for Unused Code
- Run
cargo-udepsfor unused dependencies - Remove commented-out code blocks
- Remove unused imports (cargo clippy)
- Remove stale TODO comments that are done or obsolete
Consolidate Duplicate Code
- Refactor duplicate error handling
- Extract common patterns to utilities
- Reduce renderer.tsx complexity (2100+ lines)
Technical Debt
Implement Missing Runtime Functions
db::queryinruntime.rs:932db::executeinruntime.rs:970http::requestinruntime.rs:1026events::emitinruntime.rs:1077
Add Comprehensive Tests
- Unit tests for all Rust crates
- Integration tests for plugin loading
- E2E tests with Playwright
- Security tests (fuzzing, permission bypass attempts)
- Auth flow tests
- Database migration tests
Error Handling Improvements
- Consistent error types across crates
- Better error messages for users
- Error recovery strategies
- Logging improvements (structured logging)
Performance
Renderer Performance Optimization
- Memoize
SchemaRendererfor static schemas - Optimize expression evaluation (cache results)
- Virtual scrolling for large tables/lists
- Lazy load plugin pages
Database Performance
- Add indexes for common queries
- Query optimization audit
- Connection pooling tuning
- Caching layer for plugin data
Security
Security Audit
- Formal review of WASM sandbox configuration
- Review JWT implementation
- SQL injection prevention audit
- XSS prevention in schema renderer
- CSRF protection
Dependency Security
- Set up Dependabot
- Regular
cargo auditruns - Pin dependency versions in production
Secrets Management
- Never log sensitive data
- Secure plugin credential storage
- API key rotation mechanism
Future Enhancements
Plugin Marketplace
Plugin Discovery
- Centralized plugin registry
- Search and browse plugins
- Ratings and reviews
- Verified publisher badges
Plugin Updates
- Auto-update mechanism for plugins
- Version compatibility checking
- Rollback capability
Advanced Features
Plugin Development Tools
- VSCode extension for plugin development
- Plugin scaffolding CLI
- Live reload during development
- Debug mode with better error messages
Analytics & Telemetry
- Optional usage analytics
- Plugin performance metrics
- Crash reporting
- Privacy-respecting implementation
Internationalization
i18n Support
- Plugin UI localization
- Core UI translations
- RTL layout support
- Locale detection
Known Issues
- Plugin state persistence to disk is not wired up
- Search modal in docs is not implemented
- Core-to-plugin calling not implemented (action executor)
- Some stub implementations in plugin runtime
- TanStack Form integration pending
- Expression syntax inconsistency (
{{}}vs${})
Backlog
- Plugin versioning strategy
- Plugin migration system (schema changes)
- Backup and restore functionality
- Export/import plugin data
- Theming system for plugins
- Web version (without Tauri)
- Plugin templates/examples repository
- Community plugins showcase
- Performance benchmarking suite
Contributing
We welcome contributions! If you’d like to work on any of these items:
- Check if an issue already exists on GitHub
- Comment on the issue to claim it
- Fork the repository and create a feature branch
- Submit a pull request when ready
For questions or discussions about the roadmap, please open a GitHub Discussion.
On This Page
- Summary of Pending Features
- High Priority
- CI/CD & Automation
- Plugin System Enhancements
- Inter-Plugin Communication
- Filesystem Access
- GUI Override System
- Meta-Language for Schemas
- Core Improvements
- Data Persistence & Security
- Configuration & Defaults
- UI/UX Improvements
- Documentation
- Correctness & Completeness
- Code Quality & Maintenance
- Dead Code Removal
- Technical Debt
- Performance
- Security
- Security Audit
- Dependency Security
- Secrets Management
- Future Enhancements
- Plugin Marketplace
- Advanced Features
- Internationalization
- Known Issues
- Backlog
- Contributing