Files
hotdog-cms/CONTRIBUTING.md
T

1.9 KiB

Contributing to HotDog CMS

Thank you for helping. Issues, fixes, docs, sections and packs are all welcome.

Before your first pull request

Accept the contributor agreement: add yourself to CONTRIBUTORS.md in a signed-off commit, as CLA.md describes. You keep the copyright in your work. Coffey Labs gets a license to use it, and promises to keep it available as open source. Maintainers check this with tools/cla-check.sh before merging.

Building and testing

go build -o bin/hotdog-cms ./cmd/hotdog-cms
go vet ./... && go test ./...

cd editor-ui
npm ci
npx tsc --noEmit -p . && npm test
npm run build       # into internal/editor/ui/dist, embedded by go build

Run all of it before you push, and say in the pull request what you tried by hand.

What we look for

  • Security and ease of use together. HotDog CMS exists to be as easy as WordPress without its security problems. If a change seems to need one at the cost of the other, raise it in an issue first: there's usually a design that gives both.
  • The editor never lives on the site's host, and changes reach a site only as git commits. The editor holds no publishing credentials.
  • Packs carry no code. See docs/packs.md.
  • Dependencies: as few as possible, and only releases at least two weeks old. npm packages are pinned exactly (npm install --save-exact).
  • English only. The editor and the starter aren't translated.
  • Plain words in the interface and the docs: say what happens, in the terms the person using it would use.
  • Code reads like the code around it. Tests come with the change.

Licenses

The engine and the editor are AGPL-3.0-or-later. The starter site in starter/ and HotDog themes and packs are MIT. A contribution is under the license of the part it changes.

Security problems

Don't open a public issue. Email [email protected].