diff --git a/.bluespec/manifest.json b/.bluespec/manifest.json deleted file mode 100644 index d64cb5d..0000000 --- a/.bluespec/manifest.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "name": "blue-spec", - "version": "0.9.0", - "agent": "claude", - "createdAt": "2026-07-07T07:38:09.817Z", - "files": [ - ".bluespec/templates/charter-template.md", - ".bluespec/templates/detect-template.md", - ".bluespec/templates/plan-template.md", - ".bluespec/templates/harden-template.md", - ".bluespec/templates/specialize-template.md", - ".bluespec/templates/proof-template.md", - ".bluespec/hooks/git.mjs", - ".bluespec/hooks/network.mjs", - ".bluespec/hooks/regex.mjs", - ".bluespec/hooks/repair.mjs", - ".bluespec/hooks/specializations.mjs", - ".bluespec/hooks/track.mjs", - ".bluespec/hooks/untrack.mjs", - ".bluespec/skills/access-control.md", - ".bluespec/skills/api-endpoint.md", - ".bluespec/skills/container.md", - ".bluespec/skills/credential-endpoint.md", - ".bluespec/skills/crypto.md", - ".bluespec/skills/csv.md", - ".bluespec/skills/federation.md", - ".bluespec/skills/http-request.md", - ".bluespec/skills/interpreter.md", - ".bluespec/skills/network.md", - ".bluespec/skills/path.md", - ".bluespec/skills/payment.md", - ".bluespec/skills/regex.md", - ".bluespec/skills/serverless.md", - ".bluespec/skills/transport.md", - ".bluespec/skills/upload.md", - ".bluespec/skills/xml.md", - ".claude/skills/bluespec/SKILL.md", - ".claude/skills/bluespec.charter/SKILL.md", - ".claude/skills/bluespec.detect/SKILL.md", - ".claude/skills/bluespec.plan/SKILL.md", - ".claude/skills/bluespec.harden/SKILL.md", - ".claude/skills/bluespec.verify/SKILL.md", - ".claude/skills/bluespec.repair/SKILL.md", - ".claude/skills/bluespec.specialize/SKILL.md", - ".claude/skills/bluespec.prove/SKILL.md", - ".bluespec/tracking.json", - ".bluespec/skills.json", - ".bluespec/specializations.md", - ".bluespec/skills/browser.md", - ".bluespec/skills/javascript.md" - ], - "categories": [ - "owasp", - "javascript" - ] -} diff --git a/.bluespec/skills.json b/.bluespec/skills.json deleted file mode 100644 index 20c5250..0000000 --- a/.bluespec/skills.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "blue-spec", - "entries": [ - { - "name": "sql", - "tags": ["SQL", "MySQL", "MariaDB", "Prepared Statement", "[required]"] - } - ] -} diff --git a/.bluespec/tracking.json b/.bluespec/tracking.json deleted file mode 100644 index 53dfbfd..0000000 --- a/.bluespec/tracking.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "blue-spec", - "entries": [] -} diff --git a/.claude/skills/engineering/SKILL.md b/.claude/skills/engineering/SKILL.md index c0ec4c7..bb09347 100644 --- a/.claude/skills/engineering/SKILL.md +++ b/.claude/skills/engineering/SKILL.md @@ -35,7 +35,7 @@ Don't cause a regression: every input, security vectors included, must come out ### Security -Before you write or change code, read the project's security policies in `.bluespec/memory/charter.md` and hold to every one of them. +Before you write or change code, read the project's security policies in `.lagune/memory/charter.md` and hold to every one of them. ### Tests diff --git a/.gitignore b/.gitignore index c6a2785..098ab78 100755 --- a/.gitignore +++ b/.gitignore @@ -6,12 +6,13 @@ t.ts /playground /coverage-reports -# Blue Spec -/.bluespec/templates/ -/.bluespec/hooks/ -/.bluespec/specializations.md -/.bluespec/skills/* -/.bluespec/proofs -!/.bluespec/skills/sql.md -/**/bluespec.* -/**/bluespec/ +# Lagune +/.lagune/templates/ +/.lagune/hooks/ +/.lagune/specializations.md +/.lagune/skills/* +/.lagune/proofs +!/.lagune/skills/sql.md +/**/lagune.* +/**/lagune/ +/.lagune/proofs/ diff --git a/.lagune/manifest.json b/.lagune/manifest.json new file mode 100644 index 0000000..40c8e53 --- /dev/null +++ b/.lagune/manifest.json @@ -0,0 +1,54 @@ +{ + "name": "lagune", + "version": "0.10.0", + "agent": "claude", + "createdAt": "2026-07-07T07:38:09.817Z", + "files": [ + ".lagune/templates/charter-template.md", + ".lagune/templates/detect-template.md", + ".lagune/templates/plan-template.md", + ".lagune/templates/harden-template.md", + ".lagune/templates/specialize-template.md", + ".lagune/templates/proof-template.md", + ".lagune/hooks/git.mjs", + ".lagune/hooks/network.mjs", + ".lagune/hooks/regex.mjs", + ".lagune/hooks/repair.mjs", + ".lagune/hooks/specializations.mjs", + ".lagune/hooks/track.mjs", + ".lagune/hooks/untrack.mjs", + ".lagune/skills/access-control.md", + ".lagune/skills/api-endpoint.md", + ".lagune/skills/browser.md", + ".lagune/skills/container.md", + ".lagune/skills/credential-endpoint.md", + ".lagune/skills/crypto.md", + ".lagune/skills/csv.md", + ".lagune/skills/federation.md", + ".lagune/skills/http-request.md", + ".lagune/skills/interpreter.md", + ".lagune/skills/javascript.md", + ".lagune/skills/network.md", + ".lagune/skills/path.md", + ".lagune/skills/payment.md", + ".lagune/skills/regex.md", + ".lagune/skills/serverless.md", + ".lagune/skills/transport.md", + ".lagune/skills/upload.md", + ".lagune/skills/xml.md", + ".claude/skills/lagune/SKILL.md", + ".claude/skills/lagune.charter/SKILL.md", + ".claude/skills/lagune.detect/SKILL.md", + ".claude/skills/lagune.plan/SKILL.md", + ".claude/skills/lagune.harden/SKILL.md", + ".claude/skills/lagune.verify/SKILL.md", + ".claude/skills/lagune.repair/SKILL.md", + ".claude/skills/lagune.specialize/SKILL.md", + ".claude/skills/lagune.prove/SKILL.md", + ".lagune/specializations.md" + ], + "categories": [ + "owasp", + "javascript" + ] +} diff --git a/.bluespec/memory/charter.md b/.lagune/memory/charter.md similarity index 93% rename from .bluespec/memory/charter.md rename to .lagune/memory/charter.md index 3d004a0..3bec831 100644 --- a/.bluespec/memory/charter.md +++ b/.lagune/memory/charter.md @@ -40,11 +40,11 @@ Never add a runtime dependency to this package. The library MUST ship as self-co ## Baseline discipline -Blue Spec holds this charter, every principle, every time. A principle is not suspended because a control looks small, familiar, or unlikely to be hit. This is not a judgement call. +Lagune holds this charter, every principle, every time. A principle is not suspended because a control looks small, familiar, or unlikely to be hit. This is not a judgement call. ### Only the controls the project needs -Blue Spec recommends and applies only the controls this project's context calls for. A control the project does not need is never added for completeness, and a generic checklist is not thoroughness. Every later phase acts on what the system actually does, never on what it might hypothetically do. +Lagune recommends and applies only the controls this project's context calls for. A control the project does not need is never added for completeness, and a generic checklist is not thoroughness. Every later phase acts on what the system actually does, never on what it might hypothetically do. - Why: effort spent on risks the project does not have buries the risks it does have. Fewer, right-sized controls are easier to apply, prove, and keep true than a checklist no one finishes. diff --git a/.lagune/skills.json b/.lagune/skills.json new file mode 100644 index 0000000..a623078 --- /dev/null +++ b/.lagune/skills.json @@ -0,0 +1,15 @@ +{ + "name": "lagune", + "entries": [ + { + "name": "sql", + "tags": [ + "SQL", + "MySQL", + "MariaDB", + "Prepared Statement", + "[required]" + ] + } + ] +} diff --git a/.bluespec/skills/sql.md b/.lagune/skills/sql.md similarity index 100% rename from .bluespec/skills/sql.md rename to .lagune/skills/sql.md diff --git a/.lagune/tracking.json b/.lagune/tracking.json new file mode 100644 index 0000000..0d63fd5 --- /dev/null +++ b/.lagune/tracking.json @@ -0,0 +1,4 @@ +{ + "name": "lagune", + "entries": [] +} diff --git a/.prettierignore b/.prettierignore index f9507e1..b241c6f 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,3 +1,3 @@ /lib /CHANGELOG.md -/.bluespec +/.lagune diff --git a/CLAUDE.md b/CLAUDE.md index 4bee0a4..e1550d5 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -4,5 +4,5 @@ ## Skills -- Use the `/bluespec` skill ([.claude/skills/bluespec/SKILL.md](.claude/skills/bluespec/SKILL.md)), whenever you build or change code, so it improves safety by default. If it is not available, run `npx blue-spec@latest pull` to install it from its manifest. +- Use the `/lagune` skill ([.claude/skills/lagune/SKILL.md](.claude/skills/lagune/SKILL.md)), whenever you build or change code, so it improves safety by default. If it is not available, run `npx -y lagune@latest pull` to install it from its manifest. - Use the `/engineering` skill ([.claude/skills/engineering/SKILL.md](.claude/skills/engineering/SKILL.md)) whenever you build or change code, so it follows the project's approaches. diff --git a/biome.json b/biome.json index 87b6d0a..8b4b287 100644 --- a/biome.json +++ b/biome.json @@ -10,7 +10,7 @@ "playground", "t.ts", "mcr.config.ts", - ".bluespec" + ".lagune" ] }, "javascript": {