This file provides context for OpenAI-based AI agents working with this CKB smart contract template.
Build and deploy smart contracts on CKB (Nervos) blockchain using TypeScript via ckb-js-vm runtime.
pnpm run add-contract <contract-name>Creates contracts/<name>/src/index.ts and test files.
pnpm run build # All contracts
pnpm run build:contract <n> # Specific contractpnpm test # All tests
pnpm test -- <name> # Specific testspnpm run deploy -- --network devnet|testnet|mainnetimport * as bindings from '@ckb-js-std/bindings';
import { log } from '@ckb-js-std/core';
function main(): number {
// Load script info
const script = bindings.loadScript();
// Validation logic
// Return 0 = success, non-zero = failure
return 0;
}
bindings.exit(main());| Path | Purpose |
|---|---|
contracts/*/src/index.ts |
Contract source code |
tests/*.mock.test.ts |
Unit tests (no node) |
tests/*.devnet.test.ts |
Integration tests |
deployment/scripts.json |
Deployed contract info |
app/ |
Next.js frontend |
.skills/ |
AI skill patterns (Agent Skills format) |
bindings.loadScript()- Current scriptbindings.loadCell(idx, src)- Load cellbindings.loadCellData(idx, src)- Cell databindings.exit(code)- Exit contract
- No Node.js APIs in contracts (no fs, http, etc.)
- No async/await in contract code
- Must call
bindings.exit()at end - Return 0 for validation success
The .skills/ folder contains structured patterns following the Agent Skills Open Standard:
| Skill | Purpose |
|---|---|
ckb-contract-patterns |
Smart contract patterns for ckb-js-vm |
ckb-ccc-frontend |
Frontend integration with CCC library |
Reference SKILL.md in each skill folder for detailed patterns.
CLAUDE.mdfor detailed documentation.skills/for structured AI skill patterns.cursorrulesfor code patterns