Thanks for your interest in contributing. Career-Box is an open-source project and we welcome contributions of all kinds — bug fixes, new workspace images, launcher improvements, documentation, and more.
- Docker Desktop or Podman Desktop
- Bun (for the launcher frontend and MCP server)
- Rust (for the Tauri backend)
- Git
# Clone the repo
git clone https://github.com/coeadapt/Career-Box.git
cd Career-Box
# Install launcher dependencies
cd coeadapt-launcher
bun install
cd mcp-server && bun install && cd ..
# Run the launcher in dev mode
bun run tauri devThe default .env ships with a placeholder Clerk key, which automatically activates standalone mode. You can develop and test all workspace, container, and AI features without a CoeAdapt account.
To develop CoeAdapt-specific features (Cora chat, career tracking, account management), you'll need a valid Clerk key. Contact the maintainers or sign up at coeadapt.com. See the Environment configuration section in the README for details.
The dockerfile-kasm-* files and src/*/install/ scripts define the containerized applications. To add or modify an image:
- Create or edit a
dockerfile-kasm-<name>in the repo root - Add install scripts in
src/ubuntu/install/<name>/ - Add documentation in
docs/<name>/README.md - Test the build:
docker build -t kasmweb/<name>:dev -f dockerfile-kasm-<name> .
Follow the patterns in existing images. See Kasm's image building guide for details on how Kasm images work.
The launcher lives in coeadapt-launcher/ and is built with Tauri v2 + React + TypeScript. See coeadapt-launcher/README.md for the full architecture and project structure.
- Frontend (
src/): React components, pages, hooks, and utilities - Backend (
src-tauri/): Rust commands for Docker management, disk monitoring, health checks - MCP Server (
mcp-server/): Node.js server exposing workspace tools via the Model Context Protocol
Improvements to READMEs, guides, and inline comments are always welcome.
- Fork the repository
- Create a feature branch from
develop:git checkout -b feature/my-change - Make your changes
- Test locally (build the launcher, build any modified Docker images)
- Commit with a clear message describing what and why
- Open a pull request against
develop
Use clear, descriptive commit messages. Prefix with the area of change:
feat:— new featuresfix:— bug fixesdocs:— documentation changessecurity:— security patchesrefactor:— code restructuring without behavior change
- Keep PRs focused — one logical change per PR
- Include a description of what changed and why
- If adding a new workspace image, include a screenshot or description of what it provides
- Reference any related issues
If you discover a security vulnerability, please do not open a public issue. See SECURITY.md for responsible disclosure guidelines.
By contributing, you agree that your contributions will be licensed under the MIT License.