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 avoiddna/doc/guides/test-guide.md— the one to one mirror oflib/src/, setup without helper modules, real types instead of mocks, and the 100 percent coverage rulegg do commitenforcesdna/doc/guides/for-ai/ai-review-guide.md— the review checklist: redundancy, clarity, performance, security, and the interactive fix loopdna/doc/guides/for-ai/review-heavy-guide.md— the same plus/simplifyand/code-review
Skills
/code— reports what breaks the code conventions before it reaches a review/test— reports source files without a test file and runsgg 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:
- dna_readme — README structure
- dna_guides — how guides are written
- dna_translate — keeping the languages in sync
- dna_index — the repo index
- dna_blog — the blog post per ticket
- dna_install — the install guides
- dna_gg — the gg workflow, its scripts and the quick check pipeline
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.