From 07eb82af5db7523cfd3046bb27048e0050a4f923 Mon Sep 17 00:00:00 2001 From: Simon Axelsson Date: Tue, 15 Sep 2026 02:28:57 +0200 Subject: [PATCH 1/2] =?UTF-8?q?feat(toolchain):=20W4-slutv=C3=A5g=20?= =?UTF-8?q?=E2=80=94=20mise=20task-kontrakt=20+=20lefthook=20+=20template-?= =?UTF-8?q?pin=20+=20dokumentation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .siax/template-pin.json | 17 +++++++++++++++++ lefthook.yml | 14 ++++++++++++++ mise.toml | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 67 insertions(+) create mode 100644 .siax/template-pin.json create mode 100644 lefthook.yml create mode 100644 mise.toml diff --git a/.siax/template-pin.json b/.siax/template-pin.json new file mode 100644 index 00000000..3f209a78 --- /dev/null +++ b/.siax/template-pin.json @@ -0,0 +1,17 @@ +{ + "schemaVersion": "siax.template-pin/v1", + "repo": "accounted", + "profiles": [ + "base", + "node" + ], + "templateRepo": "sax3l/siax-templates", + "templateRef": "1feb97cd1d6da58bb4b420d860109285c47c741d", + "pinnedAt": "2026-09-15T02:40:00Z", + "pins": { + "mise": "task-entry i mise.toml (repot rot)", + "node": "22", + "lefthook": "1.x (aktiveras med npx lefthook install)" + }, + "notes": "Genererad ur toolchain-discovery 2026-09-15 (siax-automation)." +} diff --git a/lefthook.yml b/lefthook.yml new file mode 100644 index 00000000..caacb303 --- /dev/null +++ b/lefthook.yml @@ -0,0 +1,14 @@ +# SIAX toolchain-kontrakt v0.1.0 — Lefthook för accounted. +# Aktiveras med: npx lefthook install. Hook-skip ersätter aldrig CI-gates. + +pre-commit: + parallel: true + commands: + check: + run: mise run check + +pre-push: + parallel: false + commands: + verify: + run: mise run verify diff --git a/mise.toml b/mise.toml new file mode 100644 index 00000000..55282f51 --- /dev/null +++ b/mise.toml @@ -0,0 +1,36 @@ +# SIAX toolchain-kontrakt v0.1.0 (sax3l/siax-templates @ SHA-pinad i +# .siax/template-pin.json) — accounted-instans. Genererad ur toolchain-discovery +# (observerade data: packageManager + CI-enforced scripts, 2026-09-15). +# mise är task-ENTRY; gate-logiken bor i .gitea/workflows/ (repots egen CI). + +[tools] +node = "22" +[tasks.setup] +description = "Installera beroenden (frozen lockfile)" +run = "set -eu; npm ci --no-audit --no-fund" + +[tasks.check] +description = "Snabba deterministiska kontroller (spegler CI-enforced gates)" +run = ''' +set -eu + +''' + +[tasks.verify] +description = "Full svit enligt repots egna scripts" +run = ''' +set -eu +npm run test +''' + +[tasks.build] +description = "Bygg (repots build-script)" +run = "set -eu; npm run build" + +[tasks.release] +description = "Verifiera innan release; deploy/release-vägen ägs av repots egna workflows" +run = ''' +set -eu +npm run test +echo "Release-vägen: .gitea/workflows/ äger deployen. Byt aldrig förbi approval." >&2 +''' -- 2.52.0 From 42241a9ad3442c1bb00cf908839c72f564a0228c Mon Sep 17 00:00:00 2001 From: Simon Axelsson Date: Tue, 15 Sep 2026 02:30:45 +0200 Subject: [PATCH 2/2] =?UTF-8?q?feat(toolchain):=20W4-slutv=C3=A5g=20?= =?UTF-8?q?=E2=80=94=20mise=20task-kontrakt=20(genererad=20ur=20toolchain-?= =?UTF-8?q?discovery)=20+=20lefthook=20+=20template-pin=20+=20dokumentatio?= =?UTF-8?q?n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AGENTS.md | 22 ++++++++++++++++++++++ README.md | 22 ++++++++++++++++++++++ 2 files changed, 44 insertions(+) diff --git a/AGENTS.md b/AGENTS.md index 31a13f1c..c848926e 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -34,3 +34,25 @@ The files below are the shared source of truth for path-specific guidance. Claud - `.claude/rules/database.md`: migration rules, key tables/RPCs/triggers, pg-real (`supabase/migrations/**`) - `.claude/rules/mcp-server.md`: MCP tool authoring, staged-operation pattern, OAuth 2.1 connector auth - `.claude/rules/bookkeeping.md`: BAS accounts, VAT treatments/rutor, `lib/core/` services + + +## SIAX toolchain-kontrakt (2026-09-15, W4-slutvåg) + +- `mise.toml` = task-entry (`setup/check/verify/build/release`) — genererad ur + toolchain-discovery (observerade data). Ändra inte betydelsen av de fem tasks. +- Package manager: **npm**. +- `lefthook.yml` = git hooks; aktiveras med `npx lefthook install`. +- Pinning: `.siax/template-pin.json` (`siax.template-pin/v1`). +- Förbjudna duplicater: just/Task/Nx, Cypress, OpenProject/Leantime/AppFlowy, + Keycloak, SigNoz. +- Not: gaterna heter check:types/check:lint. + +### Snabbkommandon + +```sh +mise install +mise run setup # npm ci --no-audit --no-fund +mise run check +mise run verify +mise run build +``` diff --git a/README.md b/README.md index fd3cb800..b4d4cd3c 100644 --- a/README.md +++ b/README.md @@ -96,3 +96,25 @@ All commits require a [DCO sign-off](DCO) (`git commit -s`). ## License [AGPL-3.0-or-later](LICENSE) with an **extension exception**: third-party extensions that interact solely through the documented Extension API may be licensed under any terms, including proprietary. See [LICENSE](LICENSE) for details and [NOTICE](NOTICE) for third-party attributions. + + +## SIAX toolchain-kontrakt (2026-09-15, W4-slutvåg) + +- `mise.toml` = task-entry (`setup/check/verify/build/release`) — genererad ur + toolchain-discovery (observerade data). Ändra inte betydelsen av de fem tasks. +- Package manager: **npm**. +- `lefthook.yml` = git hooks; aktiveras med `npx lefthook install`. +- Pinning: `.siax/template-pin.json` (`siax.template-pin/v1`). +- Förbjudna duplicater: just/Task/Nx, Cypress, OpenProject/Leantime/AppFlowy, + Keycloak, SigNoz. +- Not: gaterna heter check:types/check:lint. + +### Snabbkommandon + +```sh +mise install +mise run setup # npm ci --no-audit --no-fund +mise run check +mise run verify +mise run build +``` -- 2.52.0