A Forgejo action that submits a new version of a program to the JCOllie winget source as a pull request.
2.5 kB · 50 lines
Markdown
at main

Domain Docs #

How the engineering skills should consume this repo's domain documentation when exploring the codebase.

Where the domain docs live #

This action serves one source, the JCOllie winget source built from jeff/winget-pkgs, and takes its vocabulary and design from that repository rather than keeping its own. It is a single-context layout that happens to live next door.

Before exploring, read these #

  • GLOSSARY.md in jeff/winget-pkgs — locally ../winget-pkgs/GLOSSARY.md.
  • docs/adr/ in jeff/winget-pkgs — locally ../winget-pkgs/docs/adr/. Read the ADRs that touch the area you're about to work in.
  • GLOSSARY.md and docs/adr/ at this repo's root, if they ever appear, for terms and decisions that belong to the action alone.

If the sibling checkout is missing, fetch the files from https://git.jcollie.dev/jeff/winget-pkgs (for example fj api /repos/jeff/winget-pkgs/raw/GLOSSARY.md | jq -r .). If none of these exist, proceed silently. Don't flag their absence; don't suggest creating them upfront. The /domain-modeling skill creates them lazily when terms or decisions actually get resolved.

Where new terms and decisions go #

A term or decision about the JCOllie source in general — manifests, the index, signing, the pull request a submission opens — belongs in jeff/winget-pkgs, not here, since that repository is the one other projects will read. Only something that concerns this action and nothing else belongs in a GLOSSARY.md or docs/adr/ at this repo's root. Changing jeff/winget-pkgs is a change to another repository: propose it, don't make it unasked.

Use the glossary's vocabulary #

When your output names a domain concept (in an issue title, a refactor proposal, a hypothesis, a test name), use the term as defined in the glossary. Don't drift to synonyms the glossary explicitly avoids.

If the concept you need isn't in the glossary yet, that's a signal: either you're inventing language the project doesn't use (reconsider) or there's a real gap (note it for /domain-modeling).

Flag ADR conflicts #

If your output contradicts an existing ADR, surface it explicitly rather than silently overriding:

Contradicts ADR-0002 (single self-signed signing certificate), but worth reopening because…