π§΅ La Bobinerie - Haberdashery of Bobine modules: serious primitives, educational gems, and esoteric oddities. Grab, deploy, fork at will.
βΈ
Available now:
|
Per-account counter with Ed25519 session authentication. γopen doc |
On-chain Forth interpreter contract for Bobine. γopen doc |
|
Threshold-based authorization contract for Bobine call execution. γopen doc |
XYK (constant-product) AMM pool for two fungible tokens: add/remove liquidity, swap, fee in bps. γopen doc |
|
A simple name storage contract that remembers who you are. γopen doc |
Account-bound on-chain sigil (SVG PFP): mint one per derived address, optional on-chain tag. γopen doc |
|
A minimal fungible token module for Bobine, designed to be a boring, reliable building block for DeFi modules (pools, routers, etc.). γopen doc |
|
Use when you need to call deployed Bobine modules with typed params or perform a signed Ed25519 call through an auth module. γopen doc |
bobinerie/
βββ contracts/ # All the smart contracts
β βββ say-my-name/ # A single contract
β βββ contract.feature # BDD tests (specifications)
β βββ out/ # Compiled outputs (WASM + types)
β βββ README.md # Contract documentation
β βββ src
β β βββ mod.ts
β β βββ mods
β β βββ mod.ts
β βββ tsconfig.json
βββ skills/ # Public portable agent skills
β βββ bobine-contract-caller
β βββ SKILL.md # Skill definition with version in frontmatter
β βββ references
β βββ scripts
βββ run/ # Deployment & execution scripts
βββ package.json # Build scriptsnpm installConfigure your Bobine server in .env.local (optional):
SERVER=http://localhost:8080Compile all contracts:
npm run prepackDeploy a contract:
CONTRACT=say-my-name npm run contract:produce
# Returns: { address: "3ca2c27f..." }Other common tasks:
- Build a single contract:
CONTRACT=say-my-name npm run contract:build - Produce all contracts:
npm run produce - Generate docs:
npm run docs - Run tests:
npm run test - Run tests with coverage:
npm run test:coverage(measures test infrastructure, not WASM contract code)
Execute a contract method:
npm run execute 3ca2c27f... sayMyName text:"Alice"Got a useful contract, skill, or intriguing experiment? Put it on the shelves.
- Create your contract in
contracts/your-contract-name/ - Write comprehensive cucumber BDD tests in
contracts/your-contract-name/contract.feature - Add JSDoc documentation to all public API functions
- Run
npm run docsto refresh the catalog and contract docs - Submit a PR
- Create your skill in
skills/your-skill-name/ - Add a portable
SKILL.mdwith semverversionin the frontmatter - Add
scripts/andreferences/only when they materially help the agent - Validate the skill with
skills-ref validate skills/your-skill-name - Run
npm run docsto refresh the catalog, then submit a PR
All contributions welcome, from serious primitives to silly meme contracts and tools.
