Profiles¶
A profile is a combination of language and project type. Each page below describes what a repository of that profile receives and why. A page combines the part shared by its language with the part shared by its project type.
| Language | Library | Service | Tool | Other |
|---|---|---|---|---|
| C++ | cpp library | cpp service | cpp tool | cpp firmware-stm32 |
| Go | go library | go service | go tool | |
| Java | java library | java service | ||
| TypeScript | typescript frontend-react | |||
| KiCad | kicad electronics |
Common to All Profiles¶
- Devbox pins every tool a developer needs locally; CI uses prebuilt images with the same tools, so no job installs anything and a build is reproducible.
- Make is the single entry point:
make build,make test,make lint,make docs, and the targets of the profile. CI calls the same targets as a developer. - Pipelines follow one shape on GitLab and on GitHub; see the pipeline design. Choosing a provider changes the syntax, not the stages.
- Specs follow the Capability Specification approach; ADRs start empty, since this site documents the generator's own choices.