Roadmap & Future Improvements
Planned features and development roadmap for Orbis
Roadmap & Future Improvements
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