diff options
Diffstat (limited to '.cursor')
| -rw-r--r-- | .cursor/rules/hybbx-c.mdc | 22 | ||||
| -rw-r--r-- | .cursor/rules/hybbx-project.mdc | 35 | ||||
| -rw-r--r-- | .cursor/rules/public-product-terminology.mdc | 31 |
3 files changed, 88 insertions, 0 deletions
diff --git a/.cursor/rules/hybbx-c.mdc b/.cursor/rules/hybbx-c.mdc new file mode 100644 index 0000000..acd8b08 --- /dev/null +++ b/.cursor/rules/hybbx-c.mdc @@ -0,0 +1,22 @@ +--- +description: C/H coding patterns for HyBBX core and plugins +globs: "**/*.{c,h}" +alwaysApply: false +--- + +# HyBBX C conventions + +```c +/* ✅ Public API in include/hybbx/ */ +hybbx_result_t hybbx_foo_do_thing(hybbx_foo_t *foo, const char *in); + +/* ✅ Booleans from INI / config strings */ +int enabled = hybbx_parse_bool(value, default_value); + +/* ✅ Safe copy */ +hybbx_strlcpy(dst, src, sizeof(dst)); +``` + +- Return `HYBBX_ERR_*` from [include/hybbx/types.h](../../include/hybbx/types.h); `HYBBX_OK` on success. +- Plugin wire code stays in `plugins/` — not `src/core/`. +- Packet radio: TNC/AX.25 in `plugins/packet_radio/`; HBX client to `[circuit]`. diff --git a/.cursor/rules/hybbx-project.mdc b/.cursor/rules/hybbx-project.mdc new file mode 100644 index 0000000..df97cf5 --- /dev/null +++ b/.cursor/rules/hybbx-project.mdc @@ -0,0 +1,35 @@ +--- +description: HyBBX project conventions for all work in this repo +alwaysApply: true +--- + +# HyBBX project rules + +Read [AGENTS.md](../../AGENTS.md) and [docs/DEVELOPMENT.md](../../docs/DEVELOPMENT.md). + +## Product + +Plugin-only session daemon; Main + Secondary HBX topology ([TOPOLOGY.md](../../docs/TOPOLOGY.md)). **v2.0.0**. Technical docs in `docs/`; root README is short overview. + +## Code + +- C99, `hybbx_` prefix, `hybbx_result_t` errors +- Core = sessions + HBX/TCP only — no wire-protocol parsing in `src/core/` +- Plugins in `plugins/`; booleans via `hybbx_parse_bool()` +- Minimal scope; [limits.h](../../include/hybbx/limits.h) +- **POSIX+ / portability:** shared code stays POSIX-friendly; keep `*BSD` (FreeBSD, NetBSD, OpenBSD, …) and AmigaOS 3.9+ compatible; platform code behind `_WIN32` / `__AMIGA__` guards or dedicated files + +## Docs + +- **Technical only** — operator/INI → MANUAL.md + `share/*.ini.example`; commands → COMMANDS.md + commands.yaml; build → BUILD.md +- No planning, roadmap, feature-status, or release-note docs +- **Current version only** — no prior-version references in docs, `text/`, or user-facing comments +- **As-is software** — compact prose; no upgrade/migration/history sections +- **Linux-based operator docs** — `docs/`, `text/`, README, share examples. `HTTPD_DOCROOT`, `systemctl`, `ss`. Platform targets only in `docs/PLATFORMS.md` — own sections per OS (Linux, AmigaOS 3.9+, *BSD, MacOS X+, Windows 10+, …); spell **MacOS**, not macOS +- **POSIX+ / portability** — `*BSD` (FreeBSD, NetBSD, OpenBSD, …) and AmigaOS 3.9+ stay compatible; shared code easy to port; no Linux-only APIs in core without guards + +## 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/hyBBX.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..5a84b52 --- /dev/null +++ b/.cursor/rules/public-product-terminology.mdc @@ -0,0 +1,31 @@ +--- +description: Public product terminology — HyBBX BBX (not BBS); never AX25SRV in shipped docs +alwaysApply: true +--- + +# Public product terminology (static rule) + +**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** | + +## Other projects — BBS allowed + +| Context | Term | +|---------|------| +| MAX25-Stack, baycom-pr, generic packet apps | **BBS** OK | +| Referring to HyBBX by name | **HyBBX** or **BBX** — not “HyBBX BBS” | + +## AX25SRV — never public + +| Scope | Rule | +|-------|------| +| Shipped docs (README, `docs/*.md`, GitHub) | **Never** `AX25SRV`, `ax25srv` in prose, titles, or filenames | +| Replace with | “dual-TNC operator flow”, `DUAL-TNC-OPERATOR-GUIDE.md`, `hybbx.un1t.me`, “UN1TME” | + +**Relation:** document-standard · terms-exclusion |
