Ctrl K
ComunidadGuías…

CONTRIBUTING.md

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# Contributing to weave

Thanks for looking. weave is small on purpose, and the constraints below are the
reason it stays a `git clone` away from running.

## Before you start

- **Check the roadmap.** The issue tracker and roadmap live inside weave itself,
  in the docs workspace at `/w/weave/` (Development space) on any running
  instance. GitHub Issues is the front door for people outside that instance.
- **Open an issue before a large change.** A feature that adds a dependency, a
  build step, or a new interface will be declined regardless of quality — those
  are project-shape decisions, not code-review ones.

## Setup

```bash
git clone https://github.com/grunion-ai/weave
cd weave
node bin/weave.js serve --port 4400 --data ./my-workspace.db
```

Node ≥ 22.16 (Node 24 LTS recommended). There is nothing to install.

## The rules

1. **Tests first, and they must pass.**

   ```bash
   npm test
   ```

   New engine or server behavior lands with tests in the same change. Bug fixes
   land with a test that fails before the fix.

2. **Zero runtime dependencies.** Nothing goes in `dependencies`. Storage is
   `node:sqlite`, built into Node. Browser-side third-party code is **vendored
   and pinned** into `public/vendor/`, never npm-installed. Dev tooling under
   `scripts/` and `brand/` may import a package, but with a dynamic `import()`
   so the test suite still loads without it.

3. **No build step.** The UI is vanilla JS served as-is. If a change needs
   compiling, bundling, or transpiling, it is the wrong change.

4. **Both themes.** Check UI work in light and dark (`data-bs-theme`). Styling
   uses Tabler tokens (`--tblr-*`).

5. **Never commit workspace data.** `*.db` (and `-wal`/`-shm`), legacy `*.json`
   workspaces, and `files/` are gitignored local state.

## Pull requests

- One concern per PR, with a description of what changed and why.
- Say how you verified it — the test output, or the steps you ran in the UI.
- Screenshots for UI changes, in both themes.
- README screenshots are generated, not hand-cropped:
  `node scripts/screenshots.mjs --url http://127.0.0.1:4400`.

## Reporting bugs

Open a [GitHub issue](https://github.com/grunion-ai/weave/issues/new/choose)
with the version (`git rev-parse --short HEAD`), your Node version, what you
did, what happened, and what you expected. For anything security-related, do not
open an issue — see [SECURITY.md](SECURITY.md).

## License

Contributions are accepted under the [MIT License](LICENSE), the same terms as
the project.