Skip to main content
← Back to list
01Issue
BugShippedSwamp CLI
Assigneesstack72

Extension skills missing repository initialization and publishing prerequisites

Opened by webframp · 4/12/2026· Shipped 4/13/2026

Description

The four extension creation skills (swamp-extension-model, swamp-extension-vault, swamp-extension-datastore, swamp-extension-driver) do not document that the extension directory must be a swamp repository before swamp extension fmt or swamp extension push will work. This causes a confusing "Not a swamp repository" error in CI/CD pipelines and during first-time publishing.

Steps to Reproduce

  1. Follow any extension skill to create a new extension (e.g., swamp-extension-datastore)
  2. Create manifest.yaml, deno.json, and extension code under extensions/
  3. Run swamp extension fmt manifest.yaml --check or swamp extension push manifest.yaml
  4. Result: FTL error Error: "Not a swamp repository: /path/to/extension"
  5. Expected: Either the command works, or the skill documents the prerequisite swamp repo init step

Environment

  • swamp version: 20260412.000530.0
  • OS: Linux (GitHub Actions ubuntu-latest runner and local WSL2)

Affected Components

All four extension skill files under .claude/skills/:

  • swamp-extension-datastore/SKILL.md
  • swamp-extension-model/SKILL.md
  • swamp-extension-vault/SKILL.md
  • swamp-extension-driver/SKILL.md
  • swamp-extension-model/references/publishing.md

Gaps Identified

  1. No swamp repo init step — None of the skills mention that the extension directory needs .swamp.yaml (created via swamp repo init) before extension fmt or extension push commands work. The skills document code structure and APIs well but skip this bootstrapping step.

  2. No publishing prerequisites checklistpublishing.md documents the push workflow but does not list .swamp.yaml as a required file alongside manifest.yaml.

  3. No CI/CD guidance — None of the skills document how to automate testing and publishing in CI pipelines. The swamp extension fmt --check and swamp extension push commands are critical CI steps but aren't mentioned in a CI context.

  4. No monorepo patterns — No guidance for repositories containing multiple extensions, where each subdirectory needs its own swamp repo init.

Suggested Fix

The fix would involve adding a "Project Setup" or "Prerequisites" section to each extension SKILL.md that documents:

  • Running swamp repo init in the extension directory before publishing
  • The role of .swamp.yaml as the repository marker file
  • A note in publishing.md listing .swamp.yaml alongside manifest.yaml as required
  • Optional: CI/CD example showing swamp extension fmt --check and swamp extension push in a pipeline
02Bog Flow
OPENTRIAGEDIN PROGRESSSHIPPED+ 1 MOREASSIGNED+ 12 MOREREVIEW+ 3 MOREPR_MERGEDSHIPPED

Shipped

4/13/2026, 7:52:57 PM

Click a lifecycle step above to view its details.

03Sludge Pulse
stack72 assigned stack724/13/2026, 6:00:25 PM
Editable. Press Enter to edit.

webframp commented 4/12/2026, 6:57:17 PM

hit this when working on my own extension repo, sent an issue to track it in case you want to fix upstream

Sign in to post a ripple.