-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathblocks.json
More file actions
116 lines (116 loc) · 3.28 KB
/
Copy pathblocks.json
File metadata and controls
116 lines (116 loc) · 3.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
{
"$schema": "https://raw.githubusercontent.com/Blockchains/.github/main/docs/blocks.schema.json",
"schema_version": "1.0",
"name": "blockchainlab-compose",
"repo": "Blockchains/blockchainlab-compose",
"summary": "Idea-to-repo engine behind blockchainlab.com/forge: turns a plain-language token/NFT idea into a tested Foundry project (components from blockchainlab-index, pragma/licence checks, generated glue, tests, deploy script, CI) and optionally creates it under github.com/Blockchains.",
"kind": [
"cli",
"github-action"
],
"stability": "beta",
"license": "MIT",
"entrypoints": [
{
"type": "cli",
"name": "python3 -m blcompose.compose",
"ref": "blcompose/compose.py",
"usage": "python3 -m blcompose.compose \"<idea>\" --name <repo> [--out DIR] [--index PATH] [--json result.json] [--create --wait]"
},
{
"type": "github-action",
"name": "Compose a project",
"ref": ".github/workflows/compose.yml",
"usage": "workflow_dispatch inputs: idea, name, request_id → results/<request_id>.json"
}
],
"inputs": [
{
"name": "idea",
"type": "string",
"description": "plain-language description"
},
{
"name": "--name",
"type": "string",
"description": "new repo name"
},
{
"name": "--index",
"type": "path",
"description": "local blockchainlab-index checkout (cloned if omitted)"
}
],
"outputs": [
{
"name": "Foundry project",
"type": "directory",
"description": "src/, test/, script/Deploy.s.sol, CI, NOTICE, plan.json, component-map.json, plus AGENTS.md, llms.txt and a schema-valid blocks.json derived from the generated contracts"
},
{
"name": "result JSON",
"type": "file",
"description": "links, capabilities, components, test results"
},
{
"name": "exit 3",
"type": "code",
"description": "idea needs an unsupported capability"
}
],
"deps": [
"python>=3.10",
"foundry (forge)",
"git",
"gh (for --create)"
],
"compatible_with": [
{
"repo": "Blockchains/blockchainlab-index",
"how": "component source (catalog, components, taxonomy)"
},
{
"repo": "Blockchains/forge-dao-governance-token",
"how": "reference output, re-composed in CI"
},
{
"repo": "Blockchains/forge-usd-priced-membership-nft",
"how": "reference output, re-composed in CI"
},
{
"repo": "Blockchains/grokhack-forge",
"how": "sister composer for Grok apps"
},
{
"repo": "Blockchains/blockchainlab-sdk",
"how": "add a data layer to a generated dApp"
}
],
"tests": {
"command": "python3 -m unittest discover -s tests -v",
"ci": ".github/workflows/ci.yml",
"network": true
},
"env": [
{
"name": "XAI_API_KEY",
"required": false,
"purpose": "one Grok review call written to REVIEW.md (not an audit)"
},
{
"name": "MAINNET_RPC_URL",
"required": false,
"purpose": "enables generated live-chain fork tests"
},
{
"name": "FORGE_TOKEN",
"required": false,
"purpose": "repo secret; needed by the Action to create repos"
}
],
"docs": {
"readme": "README.md",
"agents": "AGENTS.md",
"llms": "llms.txt"
}
}