Repository navigation
Development and Contributing
The BossConsole repository contains the desktop host. Dynamic plugins are developed in separate repositories under boss-plugins.
Use JDK 17 and the included Gradle wrapper. You do not need a separately installed Gradle version.
git clone https://github.com/risa-labs-inc/BossConsole.git
cd BossConsole
./gradlew showVersionRead the repository's AGENTS.md and the guide for the module you intend to change.
Create local.properties in the repository root for your authorized development configuration:
jxbrowser.license.key=<your-jxbrowser-license>
SUPABASE_URL=https://<your-project>.supabase.co
SUPABASE_ANON_KEY=<your-project-anon-key>
SUPABASE_FUNCTION_URL=https://<your-project>.supabase.co/functions/v1Do not commit populated configuration files or credentials. The embedded browser requires a JxBrowser license; account-backed features require the corresponding backend configuration. Missing credentials do not grant access to the official production backend.
Configuration precedence is environment variables → system properties → local.properties → embedded build configuration. Check inherited environment variables when a run seems to ignore your local file.
For a host UI change, the standard validation gate is:
./gradlew :composeApp:desktopTest :composeApp:detekt :composeApp:ktlintCheckRun the equivalent checks for the modules you change. Supabase functions and shipped scripts have their own checks; follow their documentation and CI harnesses. Keep regression tests focused on observable behavior.
To launch your development build yourself with a separate debug data root:
BOSS_DEV_MODE=1 ./gradlew :composeApp:runDebug data uses ~/.boss_debug; release data uses ~/.boss. Tests that persist application state must retain their isolated test home instead of using your real data directory.
| Path | Responsibility |
|---|---|
composeApp/ |
Shared Compose UI and desktop-specific integration. |
plugin-platform/ |
Host plugin loader, repository, and API infrastructure. |
modules/ |
IPC, services, orchestration, and out-of-process app modules. |
supabase/ |
Database migrations and Edge Functions. |
scripts/ |
Packaged CLI shims and developer tooling. |
| Separate plugin repositories | Dynamic browser, terminal, editor, Toolbox, and other plugins. |
BossTerm and BossEditor are standalone libraries bundled by their respective plugins, rather than direct host dependencies.
Read CONTRIBUTING.md for the current target branch and review requirements. Search existing issues and open PRs before starting. Keep the change focused and include relevant validation evidence.
PR creation is currently restricted to repository collaborators. If GitHub does not let you open a PR, contact a maintainer about contribution access. This wiki does not change repository permissions.
For ordinary bugs, use GitHub Issues with reproduction steps and diagnostics. For vulnerabilities, follow the security policy and email security@risalabs.ai rather than filing a public issue.
Continue: Home · ← The local boss CLI · Security and privacy →
BossConsole documentation · Home · Visual walkthrough · Website · Live sessions · Detailed docs
Core reference checked October 4, 2026 against main at 75c97f0; plugin authoring checked October 7 against Tool Creator and the shared release workflow. Product media comes from the official websites; screenshot captions identify the captured version where known.