-
Notifications
You must be signed in to change notification settings - Fork 50
Contributing en
coolstartnow edited this page Aug 30, 2026
·
1 revision
Contributions are very welcome! The full reference is CONTRIBUTING.md in the repository — this page is the short version.
git clone https://github.com/coolstartnow/isms-builder.git
cd isms-builder
npm install
cp .env.example .env # adjust JWT_SECRET
npm startCI fails hard on three things. Check all three in one go:
npm run preflightThis is deliberately identical to what CI actually gates on:
| Step | Command |
|---|---|
| Test suite | npm test |
| Pinned dependency check |
pdf-parse must be exactly 1.1.1 (see PINNED-DEPS.md) |
| Security audit | npm audit --audit-level=high |
Optional automation: a pre-push hook ships in .githooks/ — activate it once per
working copy with git config core.hooksPath .githooks. From then on every git push
runs preflight first; bypass a single push with git push --no-verify.
-
All tests must pass before opening a PR — run
npm run preflight -
No new feature without a test — add a test file under
tests/for every new module -
One route file per module — new modules go into
server/routes/yourmodule.js -
One store file per module — data access goes into
server/db/yourmoduleStore.js -
No secrets in code — use
.envvariables, never hard-code credentials - Soft-delete only — never hard-delete records from stores without a dedicated permanent-delete admin action
Please do not open a public issue — use private vulnerability reporting instead. SECURITY.md describes the scope, safe harbour, and what to realistically expect.
Look for issues labelled good first issue
in the tracker.