# Contributing to member-console Thanks for your interest in improving the member console. This project is developed by and for the [Wiki Cafe MSC](https://git.coopcloud.tech/wiki-cafe) multi-stakeholder co-operative, and contributions from the wider community are welcome. The canonical repository lives on Gitea at **git.coopcloud.tech/wiki-cafe/member-console**. Issues, discussion, and pull requests happen there. ## Getting set up Follow the [Quickstart in the README](README.md#quickstart-local-development) to bring up the test stack and run the console from source. The full stack contract (ports, secrets, teardown, running multiple worktrees at once) is documented in [`test/AGENTS.md`](test/AGENTS.md). ## Building and testing Compile the binary to `./member-console`: ```bash make build ``` Run the unit tests — database- and Stripe-backed tests self-skip without a database: ```bash go test ./... ``` For the full suite, point `TEST_DATABASE_URL` at a migrated Postgres (the test stack works). [docs/testing.md](docs/testing.md) covers what each kind of test exercises and how to run them. After a schema change, regenerate the sqlc query code with `make sqlc-generate` (see [docs/database-management.md](docs/database-management.md)). ## How changes are made 1. **Open an issue first** for anything non-trivial, so the approach can be discussed before code is written. 2. **Substantial or behavioral changes go through [OpenSpec](https://openspec.dev).** Proposals live under [`openspec/`](openspec/) and move through `proposal → specs → design → tasks` before implementation, then are archived once shipped. Docs-only and small mechanical fixes don't need a proposal. 3. **Branch, implement, and open a pull request** against `main`. Keep each PR focused on one change. ## Conventions These are enforced by review and, where possible, by tooling. Please run the checks below before opening a PR. - **Strict CSP.** The app runs under `script-src 'self'` / `style-src 'self'` with no `unsafe-inline`. Never add inline `