diff options
Diffstat (limited to '.cursor')
| -rw-r--r-- | .cursor/hooks.json | 15 | ||||
| -rw-r--r-- | .cursor/rules/00-master-repo-governance.mdc | 62 | ||||
| -rw-r--r-- | .cursor/rules/english-only-project.mdc | 33 | ||||
| -rw-r--r-- | .cursor/rules/max25-project.mdc | 44 | ||||
| -rw-r--r-- | .cursor/rules/public-product-terminology.mdc | 27 | ||||
| -rw-r--r-- | .cursor/rules/research-storage.mdc | 25 |
6 files changed, 206 insertions, 0 deletions
diff --git a/.cursor/hooks.json b/.cursor/hooks.json new file mode 100644 index 0000000..854f910 --- /dev/null +++ b/.cursor/hooks.json @@ -0,0 +1,15 @@ +{ + "version": 1, + "hooks": { + "sessionStart": [ + { + "command": "bash ../.cursor/hooks/refresh-master-ai-rules.sh session" + } + ], + "postToolUse": [ + { + "command": "bash ../.cursor/hooks/refresh-master-ai-rules.sh periodic" + } + ] + } +} diff --git a/.cursor/rules/00-master-repo-governance.mdc b/.cursor/rules/00-master-repo-governance.mdc new file mode 100644 index 0000000..df34529 --- /dev/null +++ b/.cursor/rules/00-master-repo-governance.mdc @@ -0,0 +1,62 @@ +--- +description: FIXED — MASTER primary (rules+docs); ./* secondary; no documents in ./* (operator-only). +alwaysApply: true +--- + +# MASTER-REPO governance (IMMUTABLE) + +**Authority:** Operator only. Agents **must not** edit this file or `../.cursor/hooks/refresh-master-ai-rules.sh`. + +**Standard:** Fixed for every path under `/home/akb/Code/10-PROJECTS/` (`./*`). Centralized development — not overridable by agents or local rules. + +## Primary vs secondary (always) + +| Tier | Scope | Role | +|------|-------|------| +| **PRIMARY** | MASTER-REPO (`0-RESEARCHES`) | Rules **and** documents — sole authority | +| **SECONDARY** | `./*` (this tree) | Code/work only — never overrides MASTER | + +**MASTER-REPO goes first in rules and documents — always.** Local `./*` is secondary — always. + +## Precedence (strict) + +1. **MASTER** `/home/akb/0-RESEARCHES/AGENT-INDEX.md` — law entry (legacy: `/home/akb/Code/0-RESEARCHES/`) +2. **MASTER** `.cursor/rules/*.mdc` — AI rules referenced from AGENT-INDEX +3. **Local** `.cursor/rules/*` (except this file) — product hints only; **never** override MASTER + +## No documents in `./*` (FIXED) + +Agents **must not create, edit, or extend documentation** anywhere under `./*`: + +| Forbidden | Examples | +|-----------|----------| +| New or changed `.md` | `docs/`, `README.md`, `AGENTS.md`, `CHANGELOG.md`, investigations | +| Shipped doc sync | Editing frozen `docs/` in this repo | +| Research notes | Any write-up belonging in MASTER `projects/max25-stack/` | + +| Allowed in `./*` | Examples | +|------------------|----------| +| **Code** | `stacks/`, `plugins/`, `scripts/`, `include/`, `share/`, tests, build | +| **Code-tied config** | `.ini.example` only when a code change requires it | +| **Inline code comments** | In source files — not standalone documents | + +All documentation → **MASTER-REPO only** (AGENT-INDEX §0.5). Operator may change this rule; agents may not. + +## MASTER pull scope (sync hook) + +Auto-sync pulls **rules only** from MASTER: `AGENT-INDEX.md` + `.cursor/rules/*.mdc`. + +For **writing** documentation: go to MASTER — never `./*`. + +## 60-minute resync (active work) + +Hook `../.cursor/hooks/refresh-master-ai-rules.sh` → `.cursor/cache/master-ai-rules.snapshot.md` every **60 minutes**. + +## MASTER path resolution + +1. `/home/akb/0-RESEARCHES/` +2. `/home/akb/Code/0-RESEARCHES/` (legacy) + +## Slave repo (MAX25-Stack) + +Code/work only. Read frozen `docs/` for context — do not author here. diff --git a/.cursor/rules/english-only-project.mdc b/.cursor/rules/english-only-project.mdc new file mode 100644 index 0000000..1e01e47 --- /dev/null +++ b/.cursor/rules/english-only-project.mdc @@ -0,0 +1,33 @@ +--- +description: MAX25-Stack repo content is English-only; chat with user stays German +alwaysApply: true +--- + +# Language — English project, German chat + +**Governance:** [00-master-repo-governance.mdc](00-master-repo-governance.mdc) — no documents in `./*`. English rule applies to **code** and user-facing strings only. + +## Repository (MAX25-Stack) + +**Shipped content is English** when touching **code** in this repo: + +| English required | Examples | +|------------------|----------| +| User-facing strings | Terminal UI, CLI help, error messages shown to operators | +| Config templates | `share/**/*.example` comments — code-tied only | +| Scripts (user output) | `scripts/*.sh` usage text, echoed next steps | +| Inline code comments | New comments in English | + +**Not editable here:** `docs/`, `README.md`, `AGENTS.md`, and all standalone `.md` — MASTER only. + +**Exception (temporary):** existing German **source code comments** may remain until translated; new comments in English. + +**Not in repo:** deep research → MASTER `projects/max25-stack/`. + +## Chat with the user + +Respond in **German** in conversation. + +## German in code strings + +When fixing user-visible strings in **code** (not standalone docs), translate to English in the same change. diff --git a/.cursor/rules/max25-project.mdc b/.cursor/rules/max25-project.mdc new file mode 100644 index 0000000..73fa372 --- /dev/null +++ b/.cursor/rules/max25-project.mdc @@ -0,0 +1,44 @@ +--- +description: MainAX25-Stack project conventions for all work in this repo +alwaysApply: true +--- + +# MainAX25-Stack (MAX25) project rules + +**Governance:** [00-master-repo-governance.mdc](00-master-repo-governance.mdc) — MASTER `AGENT-INDEX.md` precedes this file. Resync every 60 min via hook. + +Read local [AGENT-INDEX.md](../../AGENT-INDEX.md) → [AGENTS.md](../../AGENTS.md) → [docs/DEVELOPMENT.md](../../docs/DEVELOPMENT.md) after MASTER rules are applied. + +## Product + +**Main AX.25 Stack** — standalone Packet Radio / AX.25 hardware lifecycle. HyBBX attaches as external consumer (`packet_radio`, `baycom`, `crdop`). **v1.0.0**. + +Plugin hierarchy: operating mode (`betriebsform/`) → Hardware → Device. Registry: `plugins/manifest.yaml`. + +## Code & scripts + +- Bash/shell for operator tooling; C for merged stack binaries +- **Language:** entire repo **English** — docs, UI strings, examples, user-facing script output ([english-only-project.mdc](english-only-project.mdc)) +- Source code comments may stay German temporarily; new comments in English +- Plugin IDs, scripts, and shipped docs: **English** +- Minimal scope; link to `stacks/*/` — do not duplicate stack READMEs +- MAX25 owns modem/TNC prep; HyBBX owns sessions — no session logic in MAX25 + +## Platform + +- **Linux-primary** development and operator docs (`/dev/ttyS*`, kernel BayCom, `systemctl`) +- *BSD supported in principle; porting **much later** — [docs/PLATFORMS.md](../../docs/PLATFORMS.md) +- BayCom kernel path and kernel AX.25 are Linux-only + +## Docs + +- **FIXED:** No documents in `./*` — [00-master-repo-governance.mdc](00-master-repo-governance.mdc). All docs in MASTER only. +- **Read** frozen `docs/` when coding; never author or edit here +- **Research:** MASTER vault `projects/max25-stack/` only +- [docs/MERGE-REPORT.md](../../docs/MERGE-REPORT.md) — archive only, do not extend + +## Git + +- **Identity only:** `ngteq <info@un1t.me>` — no other author name or email in this repo (`.git/config`: `user.name`, `user.email`) +- **Push only:** SSH `~/.ssh/id_ed25519_ngteq` → `git@github.com:ngteq/MAX25-Stack.git` +- No commit/push unless the user asks diff --git a/.cursor/rules/public-product-terminology.mdc b/.cursor/rules/public-product-terminology.mdc new file mode 100644 index 0000000..39176e5 --- /dev/null +++ b/.cursor/rules/public-product-terminology.mdc @@ -0,0 +1,27 @@ +--- +description: Public product terminology — HyBBX BBX (not BBS); never AX25SRV in shipped docs +alwaysApply: true +--- + +# Public product terminology (static rule) + +**Internal** — agent static rule; never put “static rule” in shipped README/`docs/*.md`. + +**Scope:** GitHub-facing and shipped `*.md` in this repo. Full spec: MASTER vault [AGENT-INDEX §0.16](https://github.com/ngteq/0-RESEARCHES/blob/main/AGENT-INDEX.md#016-public-product-terminology-static-rule) · `operations/2026-07-15-public-product-terminology-rule.md`. + +## HyBBX — use BBX, not BBS + +| Context | Term | +|---------|------| +| HyBBX product / UN1TME instance | **BBX** | +| Forbidden in HyBBX public copy | **BBS** | + +## MAX25-Stack — BBS OK, no AX25SRV + +| Context | Term | +|---------|------| +| Generic packet bulletin systems | **BBS** OK | +| HyBBX product reference | **HyBBX** or **BBX** | +| Shipped docs | **Never** `AX25SRV`, `ax25srv` in prose or doc filenames | + +**Relation:** document-standard · terms-exclusion diff --git a/.cursor/rules/research-storage.mdc b/.cursor/rules/research-storage.mdc new file mode 100644 index 0000000..1c979c7 --- /dev/null +++ b/.cursor/rules/research-storage.mdc @@ -0,0 +1,25 @@ +--- +description: Research and all documentation — MASTER vault only; MAX25-Stack is code + publication +alwaysApply: true +--- + +# Research storage & documentation boundary + +**FIXED:** [00-master-repo-governance.mdc](00-master-repo-governance.mdc) — no documents in `./*`. MASTER is primary for rules **and** documents. + +**MAX25-Stack:** code + publication binaries only. Existing `docs/` = read-only context for agents — never edit. + +Deep research → MASTER vault only (`projects/max25-stack/`, `hardware/tnc2c/`, `projects/integration/`). + +Workflow and REGISTER: MASTER `AGENT-INDEX.md`. + +**Automation (MASTER tools only):** + +```bash +VAULT="${MASTER_VAULT:-/home/akb/0-RESEARCHES}" +[[ -d "$VAULT" ]] || VAULT=/home/akb/Code/0-RESEARCHES +"$VAULT/tools/vault-duplicate-check.sh" "keyword" +"$VAULT/tools/vault-register-check.sh" "$VAULT/path/to/new.md" +``` + +Do **not** use legacy paths `notes/` or `findings/` at vault root — use `projects/max25-stack/`, `projects/hybbx/`, `projects/integration/`. |
