Skip to content

Adopt Spec Kit, hold the repo to WebsiteAngular's checks, and apply Prettier - #6

Merged
adamjohnwright merged 6 commits into
mainfrom
speckit-and-quality
Oct 9, 2026
Merged

adamjohnwright merged 6 commits into
mainfrom
speckit-and-quality

Conversation

@adamjohnwright

Copy link
Copy Markdown
Contributor

Done in another session; reviewed and finished here. One commit per part:

  • Spec Kit (cc6e5ff): the same version and options as WebsiteAngular, with a constitution that keeps its principles where they apply to libraries.

  • WebsiteAngular's checks (ef13e89):

    • Prettier and knip, both checked in CI; knip is held to a baseline;
    • husky: lint-staged on commit, preflight on push;
    • grouped Dependabot.

    The CI job keeps its name, "Build, lint and test", which branch protection requires.

  • Prettier across the repo (2745f40): formatting only, so .git-blame-ignore-revs can name it (217b986).

  • Constitution correction (f911de9): it said checks are the review. GitHub requires no approval only because a sole maintainer can't approve their own PR; changes are still reviewed adversarially.

The reformat changes nothing that runs. I built the libraries before and after it and compared the output:

  • ngx-reactome-cytoscape-style and ngx-reactome-style: no difference in built code.
  • ngx-reactome-diagram: equal once comments, whitespace and hex-colour case are normalised. The visible changes are the inline template's whitespace, a space before a tag's >, --structure-opacity: [[130, 0], [150, 100]] (read as JSON, so spaces don't matter), and lowercase hex colours. Nothing compares colours as strings.

Merge with a merge commit, not a squash: .git-blame-ignore-revs names 2745f40 by its SHA.

For dev_curator: the reformat touches every file it also changes, so its merge into main gets harder. Re-running npm run format on that branch before merging should leave only real conflicts.

Preflight passed locally.

🤖 Generated with Claude Code

Adam Wright and others added 6 commits October 7, 2026 14:53
The same Spec Kit (1.0.4) and the same options as reactome/WebsiteAngular:
the Claude integration, sh scripts, sequential feature numbering. The
skills are in .claude/skills, so /speckit-specify and the rest work here
as they do there.

The constitution keeps WebsiteAngular's principles, since this code was
written under them. It drops the website-only ones and adds the one a
library needs: what it prints and exports lands in its consumers' app.
Its gates and workflow are this repository's own.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The libraries came from WebsiteAngular with its lint ratchet, but not the
rest of what it checks before a merge. Now the same:

- Prettier, with WebsiteAngular's settings. CI checks it.
- knip, held to dead-code-baseline.json (18) by check:dead, as lint
  warnings are held to theirs. CI checks it too.
- husky: lint-staged on commit, and preflight on push, which runs what
  CI runs on the Node in .nvmrc, plus the lockfile drift check.
- dependabot, grouped the same way.

The job keeps its name, because branch protection on main requires the
"Build, lint and test" check by name.

The reformat is the next commit, kept separate so blame can skip it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Formatting only: `npm run format` and nothing else, so .git-blame-ignore-revs
can name this commit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The constitution read "Reviews are not required, so the checks are the
review". GitHub requires no approving review only because a sole
maintainer cannot approve their own pull request; every change is still
reviewed adversarially before it merges.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
From review:
- .git-blame-ignore-revs named the reformat by a short sha, which git
  rejects: with blame.ignoreRevsFile set, `git blame` failed outright. Now
  the full sha, with a note that it needs a merge commit to stay valid.
- The reformat rewrote seven of Spec Kit's own files, which it records by
  hash, so an upgrade would have taken them for hand edits. They are back
  as installed (every recorded hash matches again), and .specify and specs
  are left out of Prettier.
- Comments in the scripts brought from WebsiteAngular described that
  repository as this one: an e2e failure there is no e2e here for, and a
  lockfile story that happened there. The constitution no longer names
  WebsiteAngular's internal documents.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@adamjohnwright
adamjohnwright merged commit 6beb97e into main Oct 9, 2026
1 check passed
@adamjohnwright
adamjohnwright deleted the speckit-and-quality branch October 9, 2026 13:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant