This document defines the operational guardrails for automated coding agents working in the slidesk-theme workspace. It summarizes how to stay aligned with Hoverkraft standards; it is not a replacement for the developer documentation referenced below.
- Follow the prioritized shared instructions in hoverkraft-tech/.github/AGENTS.md before making any change.
- Apply the engineering guidance published in
README.md,CONTRIBUTING.md,CODE_OF_CONDUCT.md, and the Hoverkraft branding guidelines when editing UI, assets, or workflows. - Honor the global engineering rules provided by the workspace owner (Clean Code, SOLID, accessibility-first, least privilege). Do not introduce new dependencies that are unmaintained or violate the licensing posture.
Review these entry points before coding:
- Overview — Theme purpose, supported scenarios, and how packages map to deliverables.
- Feature Highlights — Canonical list of enforced branding capabilities that should not regress.
- Development — Toolchain prerequisites, workspace orchestration, and local preview steps.
- Testing — Required lint/build/test commands and smoke-test expectations.
- Contributing — Review workflow, documentation expectations, and release/versioning rules.
make start # Launch Slidesk via Docker on http://localhost:1337
make lint # Run lint suite via the repo's Docker linter
make lint-fix # Autofix lint issues through the same container
make build # Export static slides and copy the CSS bundle
make ci # Run lint + build (CI parity) for pre-submit confidence- Ensure Docker Engine/Desktop is available before running any target; all tooling (Slidesk + lint) is containerized.
- Always validate visual changes through
make start, review dark/accent/split layouts, and reload the browser athttp://localhost:1337. - Run
make buildafter modifying CSS or.sdflayouts so reviewers receive the updated static output inpackages/slides/build. - Use
make lint/make lint-fixto keep Prettier + repository lint policies aligned with CI; they invoke the Docker linter described inMakefile.
- Keep
packages/theme/hoverkraft.css, the.sdflayout files (split, accent, title, etc.), andfiles.jsonin sync—new components need both styling and SlideSk layout definitions. - Maintain accessibility: preserve high-contrast palettes, focus states, readable typography, and screen-reader-friendly ordering per the branding guidelines.
- Treat
packages/slidesas the authoritative smoke-test surface; update or add demo slides whenever altering public-facing layouts or classes so reviewers can preview the change. - Avoid ad-hoc build scripts; extend the existing Make targets or Docker-driven helpers when new automation is required, and prefer pure functions/utilities to keep side effects isolated.
- Keep versions coordinated: bump
packages/theme/package.json(and any documented references) when behavior changes ship, following SemVer.
- Mirror user-facing changes in
README.md(usage, commands, configuration) and annotate new slide classes or CSS hooks so downstream teams know how to adopt them. - Expand
packages/slidescontent or comments to illustrate new capabilities; this doubles as living documentation and manual QA fodder. - Record release-impacting updates (commands, environment expectations, assets) in the relevant sections before asking for review.
- When adding tooling, describe how to run it locally (e.g., additional Make targets or Docker commands) and update
Makefilehelp text if new goals are introduced.