From 4e54b8bd4d4b14ddd9958f6a2d8956b3e589530c Mon Sep 17 00:00:00 2001 From: Dorian Date: Sun, 15 Mar 2026 12:35:17 +0000 Subject: [PATCH] feat: add YAML frontmatter, bitcoin-conventions skill, path rules, and Gitea CI - Added YAML frontmatter to all 8 polish-* skills and sweep skill so Claude can auto-invoke them - New bitcoin-conventions skill with PROUX UX methodology, sats display, address validation, Tor preferences, Lightning patterns - Path-specific rules for containers (security hardening) and frontend (Vue/glassmorphism conventions) - Gitea Actions: nightly security review and weekly dependency audit Co-Authored-By: Claude Opus 4.6 (1M context) --- .claude/rules/containers.md | 19 ++++ .claude/rules/frontend.md | 16 +++ .claude/skills/bitcoin-conventions/SKILL.md | 113 ++++++++++++++++++++ .claude/skills/polish-backend/SKILL.md | 5 + .claude/skills/polish-deploy/SKILL.md | 5 + .claude/skills/polish-errors/SKILL.md | 5 + .claude/skills/polish-forms/SKILL.md | 5 + .claude/skills/polish-loading/SKILL.md | 5 + .claude/skills/polish-security/SKILL.md | 5 + .claude/skills/polish-websocket/SKILL.md | 5 + .claude/skills/polish/SKILL.md | 5 + .claude/skills/sweep/SKILL.md | 5 + .gitea/workflows/nightly-security.yml | 45 ++++++++ .gitea/workflows/weekly-dep-audit.yml | 29 +++++ 14 files changed, 267 insertions(+) create mode 100644 .claude/rules/containers.md create mode 100644 .claude/rules/frontend.md create mode 100644 .claude/skills/bitcoin-conventions/SKILL.md create mode 100644 .gitea/workflows/nightly-security.yml create mode 100644 .gitea/workflows/weekly-dep-audit.yml diff --git a/.claude/rules/containers.md b/.claude/rules/containers.md new file mode 100644 index 00000000..b756b8aa --- /dev/null +++ b/.claude/rules/containers.md @@ -0,0 +1,19 @@ +--- +globs: + - "**/container/**" + - "**/manifest*" + - "**/*podman*" + - "**/Containerfile" + - "**/Dockerfile" +--- + +# Container Security Rules (Archipelago) + +- `readonly_root: true` always — containers must not write to their root filesystem +- Drop ALL capabilities, add only what's required (`--cap-drop=ALL --cap-add=...`) +- Run as non-root user (UID > 1000): `--user 1001:1001` +- Set `--security-opt=no-new-privileges:true` +- Pin image versions by SHA256 digest, never use `:latest` tag +- Mount secrets as read-only files, never pass as environment variables when possible +- Set memory and CPU limits on all containers +- Use `--network=none` unless network access is required diff --git a/.claude/rules/frontend.md b/.claude/rules/frontend.md new file mode 100644 index 00000000..1f538cf1 --- /dev/null +++ b/.claude/rules/frontend.md @@ -0,0 +1,16 @@ +--- +globs: + - "**/neode-ui/**" + - "**/*.vue" +--- + +# Frontend Rules (Archipelago) + +- Always use `