Thanks for looking. Small, single-purpose changes get merged fastest.
composer install
npm install
npm run hooks
npm run build
composer test
npm testnpm run hooks sets core.hooksPath to .githooks. Commit messages are
rejected unless every line is a tag line.
composer test
composer lint
npm run lint:js
npm test
npm run buildCI runs the same set on PHP 8.1 and Node 22, plus Plugin Check inside wp-env, a full-history secret scan, and an ASCII punctuation check.
-
The token stays sealed. Do not put an API key, an OAuth token, or the raw connection option into a notice, a log line, or the bootstrap JSON.
-
Disconnect does not delete Arc data. Clearing the local option stops this install. The site and its reports stay in Arc.
-
ASCII hyphens only. Use
-in prose, code, UI copy and commits. NoU+2014em dash, noU+2013en dash. CI enforces this. -
One version, three places.
package.json, the plugin header (includingARC_WORDPRESS_VERSION), andStable taginpendulum-arc/readme.txtmove together.
composer test # PHPUnit, no WordPress load
npm test # JavaScript unit testsTest deterministic logic, boundaries and user-visible behaviour. Please do not add tests for trivial accessors, or tests that only assert a mock was called.
Tag-line only. Every line is a tag line; one tag per line; 72 characters or fewer; no trailing period; no free-form body.
[ADD] Show site scores on the WordPress dashboard
[FIX] Seal the connection token before it is stored
[DOC] Describe the Arc hosts the plugin calls
Allowed tags: [ADD] [UPD] [FIX] [DEL] [REF] [DOC] [TST] [CFG]
[DEP] [SEC] [PRF] [REV]. Enforced by .githooks/commit-msg.
Write docs/releases/vX.Y.Z.md before you tag. The GitHub Release body is
that file, not auto-generated notes. Format, headings, and the tag sequence
are in docs/releasing.md.
Say what you clicked and what you expected. Do not paste an API key or a token. For security issues do not open an issue - see SECURITY.md.