mona-agent / CONTRIBUTING.md
mo
docs: project documentation — guides, FAQ, architecture, security policy and contribution workflow
a9876bc
|
Raw History Blame Contribute Delete
1.43 kB
# Contributing to mona-agent
Thanks for helping build the open-source client! This file tells you how to
set up, test and propose changes.
## Setup
```bash
git clone git@github.com:MONAEXPERT/agent.git
cd agent
npm install
```
Requirements: Node.js ≥ 20, npm ≥ 9. No build step — plain ESM.
## Layout
```
apps/desktop/ the device agent (CLI, daemon, TUI, tools, tests)
packages/engine/ cloud-brain client (self-contained)
packages/protocol/ typed message schemas
docs/ user + architecture docs
```
## Testing
```bash
npm test
```
The suite covers the control channel (against a fake in-process server),
the agent loop, tool behavior and the TUI scrollback. Please keep it green
and add tests for new behavior.
## Conventions
- Plain modern JavaScript, ES modules, no build step.
- Keep the runtime dependency count at **one** (`ws`). Prefer Node built-ins.
- Commands executed by `tools/shell` must pass the guard allowlist — never
weaken the guard to make a test pass.
- Commits: `type(scope): summary` (feat, fix, docs, refactor, test).
- The public repo contains **client code only**. Server-side code must not
be committed here (SaaS boundary).
## Pull requests
1. Fork, branch, implement, test.
2. `npm test` green.
3. Open a PR with a clear description of what/why.
4. One logical change per PR. Small is beautiful.
## Code of Conduct
See [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md).