This repository is currently documentation-first. Top-level files:
README.md: product vision, architecture, and planned module layout.CONTRIBUTION.md: contributor workflow, Rust setup, style, and testing basics.BRANCHING.md: branch model and release flow.LICENSE: licensing terms.docs/: detailed backend documentation, usage, operations, testing, and development workflow.
As implementation code is added, keep modules aligned with the architecture in README.md (core/, terminal/, browser/, automation/, ui/, notifications/, cli/, config/).
Use Rust tooling (documented in CONTRIBUTION.md):
cargo build: compile the project.cargo run: run the local app.cargo test: execute all tests.cargo fmt: format code before commit.cargo clippy: run lints and catch common issues.
Recommended pre-PR check:
cargo fmt && cargo clippy && cargo test
- Follow idiomatic Rust and keep functions small and readable.
- Use descriptive names for modules, types, and variables.
- Document public APIs with Rust doc comments.
- Branch names must follow:
feature/<name>bugfix/<name>hotfix/<name>release/vX.X.X
Examples: feature/browser-surfaces, bugfix/terminal-input-freeze.
- Add unit tests for new logic and bug fixes.
- Cover edge cases; avoid flaky timing-dependent tests.
- Run
cargo testlocally before pushing. - Place tests near the code they verify (module tests or dedicated test files when added).
Commit messages should be clear, imperative, and specific (as seen in history), e.g.:
Add README, branching, and contribution docsFix terminal input freeze
Avoid vague messages like update code.
PR requirements:
- Open PRs into
develop(not direct commits tomain/develop). - Ensure build, format, lint, and tests pass.
- Include a concise description, linked issue(s), and docs updates when behavior changes.
- For UI/UX changes, include screenshots or short recordings when applicable.
For detailed implemented backend behavior, CLI/RPC usage, operations, and contributor workflow, refer to docs/README.md.