gg_dna_ggsuite 0.1.0
gg_dna_ggsuite: ^0.1.0 copied to clipboard
DNA of all ggsuite repos: every topic layer plus code and test rules
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.