This file is written for automated coding agents (for example: Copilot coding agents). It exists to provide a concise operational contract and guardrails for agents working in this repository. It is not the canonical source for design or style rules. Those live in the developer documentation linked below.
(required)
- Follow the prioritized shared instructions in hoverkraft-tech/.github/AGENTS.md before making any change.
- Apply the global engineering guidelines from
ACCESSIBILITY.md,CONTRIBUTING.md, and other root-level guides when modifying UI, documentation, or build tooling.
This repository contains the Hoverkraft-branded Docusaurus theme and its documentation site. Review these entry points before coding:
- Overview — Theme purpose, supported use cases, and positioning within the Hoverkraft design system.
- Feature Highlights — Canonical list of enforced branding capabilities.
- Documentation — Location of end user docs and how they are published.
- Development — Required toolchain, workspace workflow, lint/test commands, and release expectations.
- Contributing — Accessibility-first contribution guidelines and review expectations.
npm install # Install workspace dependencies
npm run build --workspaces # Build the theme and docs packages
npm run lint --workspaces # Run linting across all workspaces
npm run test --workspaces # Execute unit tests (ts-jest)
npm run start --workspace=@hoverkraft/hoverkraft-theme-docs # Launch docs for local QA- Prefer
npmfor workspace orchestration. Only switch toolchains when the user explicitly requests it. - Run
npm run build --workspacesbefore submitting changes that impact published assets.
- Maintain strict TypeScript types by updating
packages/theme/srcand generated declarations together. - Keep UI/UX changes accessible: audit color contrast, focus management, and screen reader semantics in tandem (see
ACCESSIBILITY.md). - Validate configuration updates with existing tests in
packages/theme/src/__tests__. Add new Arrange-Act-Assert unit tests for public APIs. - Do not bypass linting or formatting rules; they are enforced via
eslint.config.mjs, Prettier, andts-dev-toolspresets.
- Mirror any theme changes in
packages/docs/contentandpackages/docs/srcwhen user-facing behavior changes. - Update
README.mdand relevant guide pages if interfaces, commands, or outputs change. - Keep version bumps and changelog notes aligned with the release process defined in
README.md#releasingonce present.