Swamp Adoption
@webframp/swamp-adoptionv2026.06.15.1
01README
Guides new users through mapping their domain onto swamp primitives. Conducts structured discovery interviews, produces versioned extension designs, and generates implementation scaffolds.
Uses swamp to teach swamp — the adoption journey itself is modeled as typed, versioned state.
02Models
@webframp/swamp-adoptionv2026.06.05.1swamp-adoption/mod.ts
fn discover()
Conduct a structured discovery interview to map the user's domain landscape.
Guide the conversation through these phases:
1. SYSTEMS INVENTORY
Ask: "What systems do you interact with daily? Include APIs, databases,
SaaS platforms, CLI tools, and internal services."
For each system, capture: name, type, and how they authenticate.
2. INTERACTION PATTERNS
For each system, ask: "What do you DO with this system?"
Capture verbs (read, write, deploy, monitor, rotate, audit),
direct
fn design(system?: string)
Design a swamp extension based on the discovered landscape.
Guide the conversation through these phases:
1. SCOPE CONFIRMATION
Read the landscape resource. Present suggestedFirstExtension and reasoning.
Ask: "Does this match your priority? If not, which system should we tackle first?"
If a 'system' argument is provided, use that as the target.
2. METHOD DISCOVERY
For the target system, review its interactions from the landscape.
Map each verb to a method name (e.g., "read certi
| Argument | Type | Description |
|---|---|---|
| system? | string | Target system name from landscape (uses suggestedFirstExtension if omitted) |
fn scaffold(outputFormat: enum)
Generate implementation files from an extension design.
Reads the extensionDesign resource and produces:
- manifest.yaml with proper CalVer version, labels, platforms
- deno.json with standard task configuration
- extensions/models/<name>/mod.ts with Zod schemas, resource definitions, method stubs
- extensions/models/<name>/mod_test.ts with structure and argument validation tests
The scaffold provides a working starting point that passes deno check and deno lint.
Each generated file includes T
| Argument | Type | Description |
|---|---|---|
| outputFormat | enum | Whether to write files as a resource or print to stdout |
fn next()
Suggest the next extension to build based on landscape analysis and the current design.
Reads the landscape and the current extensionDesign resource. Filters out the
system covered by the current design, then ranks remaining systems by:
1. Pain level (blocking > significant > minor > none)
2. Uses the highest pain across all interactions per system
Logs advisory output with the recommendation and reasoning.
Does not write any resource — purely advisory.
Resources
landscape(infinite)— Discovered system landscape from the user's domain interviews
extensionDesign(infinite)— Versioned extension design produced from landscape analysis
scaffold(24h)— Generated file scaffold for an extension design
03Previous Versions
2026.06.05.1Jun 5, 2026
04Stats
A
100 / 100
Downloads
2
Archive size
16.6 KB
- Has README or module doc2/2earned
- README has a code example1/1earned
- README is substantive1/1earned
- Most symbols documented1/1earned
- No slow types (deprecated)1/1earned
- Dependencies pass trust audit2/2earned
- Has description1/1earned
- Platform support declared (or universal)2/2earned
- License declared1/1earned
- Verified public repository2/2earned
05Platforms
06Labels