feat: 1995
This commit is contained in:
commit
fb89263930
69 changed files with 3359 additions and 0 deletions
7
.agents/rules/big-red-dog.md
Normal file
7
.agents/rules/big-red-dog.md
Normal 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
9
.agents/rules/caveman.md
Normal 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
11
.agents/rules/commits.md
Normal 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)
|
||||
|
||||
29
.agents/rules/forge-sync.md
Normal file
29
.agents/rules/forge-sync.md
Normal 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
19
.agents/rules/openspec.md
Normal 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
34
.agents/rules/quality.md
Normal 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.
|
||||
Loading…
Add table
Add a link
Reference in a new issue