gg_dna_ggsuite

The DNA of every ggsuite repo: it pulls in all topic layers and adds the two topics that are ours — how code is structured and how it is tested.

Add this one layer and a repo gets the whole set.

Guides

  • dna/doc/guides/code-guide.md — package layout, member order, API shape, section landmarks, the mandatory lint set and what to avoid
  • dna/doc/guides/test-guide.md — the one to one mirror of lib/src/, setup without helper modules, real types instead of mocks, and the 100 percent coverage rule gg do commit enforces
  • dna/doc/guides/for-ai/ai-review-guide.md — the review checklist: redundancy, clarity, performance, security, and the interactive fix loop
  • dna/doc/guides/for-ai/review-heavy-guide.md — the same plus /simplify and /code-review

Skills

  • /code — reports what breaks the code conventions before it reaches a review
  • /test — reports source files without a test file and runs gg can commit
  • /review-light — reviews the current changes against the checklist
  • /review-heavy — the thorough pass on top

Layers

Builds on every topic layer, in this order:

This layer is applied last and wins every conflict.

Variables

  • dnaCopyrightHolder — the name in the license header of every file

The parent layers bring their own variables; set them in the vars section of the consuming repo's dna/_dna.json.

Usage

Declare it as a dev-dependency and initialize once:

pnpm add -D @ggsuite/gg-dna-ggsuite   # TypeScript projects
dart pub add dev:gg_dna_ggsuite     # Dart projects
helix init

The placed test instantiates and verifies the DNA on every test run.

Development

The dna/ folder is hand-authored source and is never generated. The repo instantiates its own DNA — run dart test after changes; commit first, a file the DNA would overwrite must not carry uncommitted work.

Libraries