# AGENTS.md

The Cyber Swiss Army Knife - a web app for encryption, encoding, compression and data analysis

## Setup

```
npm ci
```

## Commands

```
npm run start              # run the app
npm run build              # produce a build
npm run test               # run the test suite, must pass before any commit
npm run lint               # lint
npm run node
npm run repl
npm run testnodeconsumer
npm run testui
```

## Layout

- `src/`   649 source files
- `tests/` 230 source files

## Conventions

- Tests live alongside the code they cover, following `tests/browser/00_nightwatch.js`.
- CI defines what passing means. See `.github/workflows/cla-close-stale.yml`, and keep it green.
- TODO: add the two or three conventions a newcomer always gets wrong here.

## Gotchas

- `src/core/lib/Magic.mjs` is 553KB. It will not fit comfortably in context, so read it in parts.

---

Drafted by agentreadme.com from what is in this repository. Everything marked TODO
needs a human. Check it in as AGENTS.md at the root.
