@spectratools/assembly-cli 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +41 -199
- package/dist/cli.js +730 -89
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,40 +1,41 @@
|
|
|
1
|
-
# @
|
|
1
|
+
# @spectratools/assembly-cli
|
|
2
2
|
|
|
3
|
-
Assembly governance CLI for
|
|
3
|
+
Assembly governance CLI for Abstract.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## Install
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
- `members` — inspect member registry and membership status
|
|
11
|
-
- `votes` — view vote history and proposal tallies
|
|
7
|
+
```bash
|
|
8
|
+
pnpm add -g @spectratools/assembly-cli
|
|
9
|
+
```
|
|
12
10
|
|
|
13
|
-
##
|
|
11
|
+
## LLM / Agent Discovery
|
|
14
12
|
|
|
15
13
|
```bash
|
|
16
|
-
|
|
14
|
+
# Emit machine-readable command metadata
|
|
15
|
+
assembly-cli --llms
|
|
16
|
+
|
|
17
|
+
# Register as a reusable local skill for agent runtimes
|
|
18
|
+
assembly-cli skills add
|
|
19
|
+
|
|
20
|
+
# Register as an MCP server entry
|
|
21
|
+
assembly-cli mcp add
|
|
17
22
|
```
|
|
18
23
|
|
|
19
24
|
## Configuration
|
|
20
25
|
|
|
21
|
-
Set environment variables before running commands:
|
|
22
|
-
|
|
23
26
|
| Variable | Required | Description |
|
|
24
27
|
|---|---|---|
|
|
25
|
-
| `
|
|
26
|
-
| `
|
|
27
|
-
| `ABSTRACT_WALLET_ADDRESS` | No | Default wallet address used by `members status` when `--address` is omitted |
|
|
28
|
+
| `ABSTRACT_RPC_URL` | No | Abstract RPC URL override (default from package client) |
|
|
29
|
+
| `ASSEMBLY_INDEXER_URL` | No | Optional member snapshot endpoint for `members list` (falls back to on-chain `Registered` events with a warning if unavailable) |
|
|
28
30
|
|
|
29
|
-
|
|
31
|
+
## Command Group Intent Summary
|
|
30
32
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
```
|
|
33
|
+
- `members` — Membership state, counts, and registry fee settings
|
|
34
|
+
- `council` — Seat occupancy, active council members, auction slots, and council params
|
|
35
|
+
- `forum` — Threads, comments, petitions, and petition participation checks
|
|
36
|
+
- `governance` — Proposal index/details, vote participation checks, governance params
|
|
37
|
+
- `treasury` — Treasury balance, whitelist checks, major-spend status, execution checks
|
|
38
|
+
- root commands (`status`, `health`) — Cross-contract snapshots for bots/monitors
|
|
38
39
|
|
|
39
40
|
## Usage
|
|
40
41
|
|
|
@@ -42,190 +43,31 @@ export ABSTRACT_WALLET_ADDRESS="0x1234...abcd"
|
|
|
42
43
|
assembly-cli <group> <command> [args] [options]
|
|
43
44
|
```
|
|
44
45
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
## Commands
|
|
48
|
-
|
|
49
|
-
### Proposals
|
|
46
|
+
## Agent-Oriented Examples
|
|
50
47
|
|
|
51
48
|
```bash
|
|
52
|
-
#
|
|
53
|
-
assembly-cli
|
|
49
|
+
# 1) Agent startup snapshot: report system health in one call
|
|
50
|
+
assembly-cli status --format json
|
|
54
51
|
|
|
55
|
-
#
|
|
56
|
-
assembly-cli
|
|
52
|
+
# 2) Verify whether an address can currently participate as council
|
|
53
|
+
assembly-cli council is-member 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 --format json
|
|
57
54
|
|
|
58
|
-
#
|
|
59
|
-
assembly-cli
|
|
60
|
-
```
|
|
55
|
+
# 3) Pull active member roster with relative activity timings
|
|
56
|
+
assembly-cli members list --format json
|
|
61
57
|
|
|
62
|
-
|
|
58
|
+
# 4) Pre-vote automation: list proposals and fetch one in detail
|
|
59
|
+
assembly-cli governance proposals --format json
|
|
60
|
+
assembly-cli governance proposal 1 --format json
|
|
63
61
|
|
|
64
|
-
|
|
65
|
-
assembly-cli
|
|
66
|
-
assembly-cli
|
|
67
|
-
assembly-cli proposals get 42
|
|
68
|
-
assembly-cli proposals vote 42 for --reason "Supports treasury transparency improvements"
|
|
62
|
+
# 5) Treasury monitoring loop: balance + spend lock status
|
|
63
|
+
assembly-cli treasury balance --format json
|
|
64
|
+
assembly-cli treasury major-spend-status --format json
|
|
69
65
|
```
|
|
70
66
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
```bash
|
|
74
|
-
# List council members
|
|
75
|
-
assembly-cli council members [--status active|inactive|all]
|
|
76
|
-
|
|
77
|
-
# Get member details by address
|
|
78
|
-
assembly-cli council info <address>
|
|
79
|
-
|
|
80
|
-
# List council seats
|
|
81
|
-
assembly-cli council seats [--status open|filled|all]
|
|
82
|
-
```
|
|
67
|
+
## Output Mode
|
|
83
68
|
|
|
84
|
-
|
|
69
|
+
All commands support structured JSON output for agents:
|
|
85
70
|
|
|
86
71
|
```bash
|
|
87
|
-
assembly-cli
|
|
88
|
-
|
|
89
|
-
assembly-cli council info 0xabc123...
|
|
90
|
-
assembly-cli council seats --status open
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
### Forum
|
|
94
|
-
|
|
95
|
-
```bash
|
|
96
|
-
# List forum posts
|
|
97
|
-
assembly-cli forum posts [--category governance|general|all]
|
|
98
|
-
|
|
99
|
-
# Get a forum post by id
|
|
100
|
-
assembly-cli forum post <id>
|
|
101
|
-
|
|
102
|
-
# Search forum posts
|
|
103
|
-
assembly-cli forum search <query>
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
Examples:
|
|
107
|
-
|
|
108
|
-
```bash
|
|
109
|
-
assembly-cli forum posts
|
|
110
|
-
assembly-cli forum posts --category governance
|
|
111
|
-
assembly-cli forum post post-123
|
|
112
|
-
assembly-cli forum search "delegate incentives"
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
### Members
|
|
116
|
-
|
|
117
|
-
```bash
|
|
118
|
-
# List members
|
|
119
|
-
assembly-cli members list [--role council|voter|all]
|
|
120
|
-
|
|
121
|
-
# Get member details
|
|
122
|
-
assembly-cli members info <address>
|
|
123
|
-
|
|
124
|
-
# Check membership status
|
|
125
|
-
assembly-cli members status [--address <address>]
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
Examples:
|
|
129
|
-
|
|
130
|
-
```bash
|
|
131
|
-
assembly-cli members list
|
|
132
|
-
assembly-cli members list --role voter
|
|
133
|
-
assembly-cli members info 0xabc123...
|
|
134
|
-
assembly-cli members status --address 0xabc123...
|
|
135
|
-
# or uses ABSTRACT_WALLET_ADDRESS if set:
|
|
136
|
-
assembly-cli members status
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
### Votes
|
|
140
|
-
|
|
141
|
-
```bash
|
|
142
|
-
# Vote history
|
|
143
|
-
assembly-cli votes history [--voter <address>] [--proposal <id>]
|
|
144
|
-
|
|
145
|
-
# Proposal tally
|
|
146
|
-
assembly-cli votes tally <proposalId>
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
Examples:
|
|
150
|
-
|
|
151
|
-
```bash
|
|
152
|
-
assembly-cli votes history
|
|
153
|
-
assembly-cli votes history --voter 0xabc123...
|
|
154
|
-
assembly-cli votes history --proposal 42
|
|
155
|
-
assembly-cli votes tally 42
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
---
|
|
159
|
-
|
|
160
|
-
## Output formats
|
|
161
|
-
|
|
162
|
-
### Human-readable (default)
|
|
163
|
-
|
|
164
|
-
```bash
|
|
165
|
-
assembly-cli proposals list
|
|
166
|
-
```
|
|
167
|
-
|
|
168
|
-
### JSON (agent/script-friendly)
|
|
169
|
-
|
|
170
|
-
```bash
|
|
171
|
-
assembly-cli proposals list --format json
|
|
172
|
-
assembly-cli votes tally 42 --format json
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
Example JSON envelope:
|
|
176
|
-
|
|
177
|
-
```json
|
|
178
|
-
{
|
|
179
|
-
"ok": true,
|
|
180
|
-
"data": [
|
|
181
|
-
{
|
|
182
|
-
"id": "42",
|
|
183
|
-
"title": "Treasury Reallocation",
|
|
184
|
-
"status": "active",
|
|
185
|
-
"proposer": "0xabc123...",
|
|
186
|
-
"votes": {
|
|
187
|
-
"for": 120,
|
|
188
|
-
"against": 35,
|
|
189
|
-
"abstain": 4
|
|
190
|
-
},
|
|
191
|
-
"startTime": "2026-03-01T12:00:00.000Z",
|
|
192
|
-
"endTime": "2026-03-03T12:00:00.000Z"
|
|
193
|
-
}
|
|
194
|
-
]
|
|
195
|
-
}
|
|
196
|
-
```
|
|
197
|
-
|
|
198
|
-
Example tally output (`votes tally`):
|
|
199
|
-
|
|
200
|
-
```json
|
|
201
|
-
{
|
|
202
|
-
"ok": true,
|
|
203
|
-
"data": {
|
|
204
|
-
"proposalId": "42",
|
|
205
|
-
"votesFor": 120,
|
|
206
|
-
"votesAgainst": 35,
|
|
207
|
-
"votesAbstain": 4,
|
|
208
|
-
"totalVotes": 159,
|
|
209
|
-
"breakdown": {
|
|
210
|
-
"for": "75.5%",
|
|
211
|
-
"against": "22.0%",
|
|
212
|
-
"abstain": "2.5%"
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
```
|
|
217
|
-
|
|
218
|
-
## Error handling
|
|
219
|
-
|
|
220
|
-
On request failures, commands return structured errors. Example:
|
|
221
|
-
|
|
222
|
-
```json
|
|
223
|
-
{
|
|
224
|
-
"ok": false,
|
|
225
|
-
"error": {
|
|
226
|
-
"code": "FETCH_ERROR",
|
|
227
|
-
"message": "Failed to fetch proposals: ...",
|
|
228
|
-
"retryable": true
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
```
|
|
72
|
+
assembly-cli forum threads --format json
|
|
73
|
+
```
|