Skip to main content
← Back to list
01Issue
FeatureClosedSwamp Club
AssigneesNone

Skill docs: document configSchema inline requirement and .describe() constraints for vault extensions

Opened by swampadmin · 11/17/2025

Problem

The swamp-vault skill (user-defined-vaults.md) does not document two constraints that cause vault extension authors to silently get no field descriptions on swamp.club:

  1. configSchema must be defined inline in the vault export — the swamp.club extractor looks for configSchema: z.object({ in the source. If an author defines it as a separate const and uses shorthand in the export (which is natural TypeScript), neither the "configurable" badge nor any field descriptions will appear.

  2. .describe() calls must be single-line — the field extractor uses a line-based regex (.*?) that does not match across newlines. Multiline .describe() calls (which deno fmt produces for long strings) result in no description being extracted. Description strings must also avoid commas and quotes as these break the parser.

The HashiCorp Vault example in the skill already uses multiline .describe() which won't be extracted.

Suggested fix

Add notes to the Key Rules section of user-defined-vaults.md documenting:

  • configSchema must be inline in the vault export object
  • .describe() must be on a single line per field
  • Use vault.configSchema inside createProvider when the schema is inline

Related: systeminit/swamp-club#282 — tracking a fix to make the extractor more forgiving so these constraints are not needed.

02Bog Flow
OPENTRIAGEDIN PROGRESSCLOSED

Closed

No activity in this phase yet.

03Sludge Pulse

Sign in to post a ripple.