feat: 1995

This commit is contained in:
Dan Finch 2026-08-04 02:09:54 +02:00
commit fb89263930
69 changed files with 3359 additions and 0 deletions

View file

@ -0,0 +1,7 @@
---
alwaysApply: true
---
# A way to check whether my instructions are loaded into context automatically
the big red dog is named Salamander

9
.agents/rules/caveman.md Normal file
View file

@ -0,0 +1,9 @@
---
description: Always load the caveman skill for concise technical responses.
---
# Caveman Mode
Use the `caveman` skill for every response.
Stop only when the user explicitly says `stop caveman` or `normal mode`.

11
.agents/rules/commits.md Normal file
View file

@ -0,0 +1,11 @@
---
condition: "(?i)git commit|commit message|conventional commit"
---
# Commits
When commiting changes, follow these rules to write the messages:
- Conventional Commit (reference available at .ai/resources/conventional-commit.md)
- `@commitlint/config-conventional` (reference available at .ai/resources/commitlint.md)

View file

@ -0,0 +1,29 @@
---
description: Local vs sync mode rules for git and Forgejo — commit, push, and PR policy per workflow.
---
# Forge Sync Rules
When a workflow uses explicit mode:
- `Mode: sync` or `--sync` means sync mode.
- no sync marker means local mode.
- Do not ask whether git workflow should be agent-managed.
Local mode:
- No push.
- No forge write tools.
- No PR create/update/comment.
Sync mode:
- Commit completed workflow units.
- Push after each unit commit.
- Create PR after first push if missing.
- Reuse existing PR on later pushes.
- Comment/update PR only when workflow asks for it.
Forbidden always:
- No force push.
- No branch deletion.
- No hard reset.
- No amending unless explicitly requested.

19
.agents/rules/openspec.md Normal file
View file

@ -0,0 +1,19 @@
---
description: Rules for OpenSpec propose and archive workflows.
---
# OpenSpec Instructions
## OpenSpec Propose Workflow
When proposing changes via `/opsx-propose`:
- If the change introduces or modifies user-facing behavior (API changes, conventions), include a task section for updating `README.md` in the proposal's impact assessment.
## OpenSpec Archive Workflow
When archiving tasks via `/opsx-archive`:
1. Automatically sync specs, do not ask the user.
2. If mode is explicit, use `forge-sync` for archive commit, push, PR, and Forgejo behavior.
3. If no mode is explicit, default to local mode.

34
.agents/rules/quality.md Normal file
View file

@ -0,0 +1,34 @@
---
alwaysApply: true
---
# Quality Guardrails
Use these while building. Do not turn every task into a full review; apply as lightweight pressure before adding or changing structure.
## Module Shape
- Filenames should match the primary export exactly, including casing.
- Exports and higher level functions should appear before private functions in a file.
- Prefer a primary type plus matching namespace for behavior tied to that type.
- Functions that operate on a domain type should live in that type's namespace.
- Avoid scattered single-name function exports for domain-specific behavior.
- Truly generic helpers may stay standalone when they do not naturally belong to a domain type.
## Design Pressure
- DRY: centralize rules and policy, not incidental similarity.
- KISS: prefer the smallest clear structure that solves the actual problem.
- YAGNI: do not add speculative extension points, options, compatibility layers, or abstractions.
- SOC: keep parsing, validation, IO, orchestration, and policy separate when mixing them creates change pressure.
- Cohesion: each module/type/function should have one clear job and one clear reason to change.
- Coupling: avoid making callers know protocol internals, nested implementation details, or unrelated runtime policy.
- Locality: one behavior should not require excessive jumping across unrelated files or helpers.
- Naming/API Clarity: names should expose behavior and domain meaning; avoid vague wrappers, false promises, and boolean-blind APIs.
## Refactor Bias
- Prefer moving behavior to the domain owner over creating utility bags.
- Prefer local private helpers over exported helpers until another real caller exists.
- Prefer deleting compatibility code when there are no shipped consumers, persisted data, or explicit requirements.
- Prefer small reshapes that preserve behavior over broad rewrites.