@ariestools/cli 0.1.6

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.
@@ -0,0 +1,243 @@
1
+ ---
2
+ name: readme-init
3
+ description: Bootstrap a brand-new package README from scratch in the xylabs / xyo style. Reads package.json for name and description, detects the package tier, and emits a complete README.md ready for the user to fill in About / What's Inside content. Use when adding a new package and there is no README.md yet.
4
+ ---
5
+
6
+ # README Init (xylabs / xyo convention)
7
+
8
+ This skill creates a fresh `README.md` for a package that doesn't have one
9
+ yet. It is the bootstrap counterpart to `readme-author` — the latter
10
+ *authors and updates* an existing or partially-written README; this skill
11
+ *creates one from scratch*.
12
+
13
+ ## When to use
14
+
15
+ - Adding a new package to a monorepo that has no `README.md`.
16
+ - Replacing a placeholder/empty README with the full template.
17
+
18
+ If a `README.md` already exists with non-trivial content, route the work to
19
+ the `readme-author` skill instead — don't overwrite hand-written content.
20
+
21
+ ## Inputs
22
+
23
+ Run from the package directory (the one containing `package.json`).
24
+
25
+ Read the following from `package.json`:
26
+
27
+ - `name` — the full package name (e.g. `@xyo-network/xl1-blockies`).
28
+ - `description` — used as the tagline; if missing, prompt the user for one
29
+ before continuing.
30
+ - `exports` — used to detect whether the package has subpath exports.
31
+ - `dependencies` / `peerDependencies` — used for tier detection and to
32
+ decide whether to include a "Peer Dependencies" section.
33
+
34
+ ## Tier detection (heuristic)
35
+
36
+ Inspect `package.json` and the source layout:
37
+
38
+ - **Aggregate** — most or all `dependencies` are `workspace:*` siblings;
39
+ `src/` is mostly re-exports (a single `index.ts` re-exporting from siblings,
40
+ or only a small surface of glue code). Use the aggregate template.
41
+ - **Mid-tier** — substantial `src/` with multiple modules; may have multiple
42
+ `exports` entries. Use the mid-tier template.
43
+ - **Leaf** — small, single-purpose; one or a few source files; few
44
+ dependencies. Use the leaf template.
45
+
46
+ When unsure between mid-tier and leaf, prefer mid-tier (the resulting README
47
+ just has more sections; the user can prune).
48
+
49
+ ## Steps
50
+
51
+ 1. **Verify there is no existing README.** If `README.md` exists and has
52
+ more than a few placeholder lines, stop and ask the user what to do.
53
+ 2. **Read `package.json`.** Extract `name`, `description`, `exports`,
54
+ `dependencies`, `peerDependencies`.
55
+ 3. **Determine tier** using the heuristic above.
56
+ 4. **Pick a template** below and substitute `{{NAME}}` and `{{TAGLINE}}`
57
+ throughout. For aggregate packages, also fill in the description and
58
+ component package list.
59
+ 5. **Leave hand-written sections as TODO placeholders.** "About" /
60
+ "Description" and "What's Inside" content cannot be derived from
61
+ `package.json`; emit them as HTML comments the user fills in:
62
+
63
+ ```markdown
64
+ ## About
65
+
66
+ <!-- TODO: 1–3 paragraphs explaining what this package is, how it
67
+ relates to its umbrella aggregate, and when to install it directly
68
+ vs. via the aggregate. -->
69
+ ```
70
+
71
+ 6. **Always include the verbatim Maintainers table, License, and Credits
72
+ sections** from the `readme-author` skill.
73
+ 7. **Verify reference links resolve** by reminding the user that the npm
74
+ badge will only render once the package is published. The license badge
75
+ uses the package name's npm shield endpoint; if the package isn't on npm
76
+ yet, the badge will render as "n/a" until publish.
77
+
78
+ ## Templates
79
+
80
+ ### Leaf
81
+
82
+ Use when the package is small and single-purpose.
83
+
84
+ ````markdown
85
+ [![logo][]][logo-link]
86
+
87
+ # {{NAME}}
88
+
89
+ [![npm-badge][]][npm-link]
90
+ [![license-badge][]][license-link]
91
+
92
+ > {{TAGLINE}}
93
+
94
+ ## About
95
+
96
+ <!-- TODO: 1–2 paragraphs explaining what this package is and when to use it. -->
97
+
98
+ ## Install
99
+
100
+ Using npm:
101
+
102
+ ```sh
103
+ npm i --save {{NAME}}
104
+ ```
105
+
106
+ Using yarn:
107
+
108
+ ```sh
109
+ yarn add {{NAME}}
110
+ ```
111
+
112
+ Using pnpm:
113
+
114
+ ```sh
115
+ pnpm add {{NAME}}
116
+ ```
117
+
118
+ Using bun:
119
+
120
+ ```sh
121
+ bun add {{NAME}}
122
+ ```
123
+
124
+ ## What's Inside
125
+
126
+ <!-- TODO: bullet list of public surface (components, functions, types). -->
127
+
128
+ ## Building Locally
129
+
130
+ ```sh
131
+ xy build {{NAME}}
132
+ xy test {{NAME}}
133
+ xy lint {{NAME}}
134
+ ```
135
+
136
+ ## Maintainers
137
+
138
+ <table>
139
+ <tr>
140
+ <td align="center" valign="top" width="120">
141
+ <a href="https://github.com/arietrouw">
142
+ <img src="https://github.com/arietrouw.png" width="80" height="80" alt="Arie Trouw" /><br />
143
+ <sub><b>Arie Trouw</b></sub>
144
+ </a>
145
+ <br />
146
+ <a href="https://arietrouw.com">arietrouw.com</a>
147
+ </td>
148
+ <td align="center" valign="top" width="120">
149
+ <a href="https://github.com/jonesmac">
150
+ <img src="https://github.com/jonesmac.png" width="80" height="80" alt="Matt Jones" /><br />
151
+ <sub><b>Matt Jones</b></sub>
152
+ </a>
153
+ </td>
154
+ <td align="center" valign="top" width="120">
155
+ <a href="https://github.com/JoelBCarter">
156
+ <img src="https://github.com/JoelBCarter.png" width="80" height="80" alt="Joel Carter" /><br />
157
+ <sub><b>Joel Carter</b></sub>
158
+ </a>
159
+ </td>
160
+ </tr>
161
+ </table>
162
+
163
+ ## License
164
+
165
+ See the [LICENSE](./LICENSE) file (LGPL-3.0-only).
166
+
167
+ ## Credits
168
+
169
+ [Made with 🔥 and ❄️ by XYO](https://xyo.network)
170
+
171
+ [logo]: https://cdn.xy.company/img/brand/XYO_full_colored.png
172
+ [logo-link]: https://xyo.network
173
+
174
+ [npm-badge]: https://img.shields.io/npm/v/{{NAME}}.svg
175
+ [npm-link]: https://www.npmjs.com/package/{{NAME}}
176
+
177
+ [license-badge]: https://img.shields.io/npm/l/{{NAME}}.svg
178
+ [license-link]: ./LICENSE
179
+ ````
180
+
181
+ ### Mid-tier
182
+
183
+ Like the leaf template, plus a Subpath Exports section if `package.json#exports`
184
+ has more than one entry. Insert this section between Install and What's Inside:
185
+
186
+ ```markdown
187
+ ## Subpath Exports
188
+
189
+ <!-- TODO: list each entry from package.json#exports with a one-line
190
+ reason for why it's a separate subpath. -->
191
+
192
+ - `{{NAME}}` — main barrel
193
+ ```
194
+
195
+ ### Aggregate
196
+
197
+ Use the leaf template as the base, and:
198
+
199
+ 1. Insert a Table of Contents after the tagline:
200
+
201
+ ```markdown
202
+ ## Table of Contents
203
+
204
+ - [Description](#description)
205
+ - [Install](#install)
206
+ - [What's Inside](#whats-inside)
207
+ - [Building Locally](#building-locally)
208
+ - [Maintainers](#maintainers)
209
+ - [License](#license)
210
+ - [Credits](#credits)
211
+ ```
212
+
213
+ 2. Replace `## About` with `## Description`.
214
+ 3. In the Description placeholder, list the workspace siblings this package
215
+ re-exports as bullets, each linking to its npm page.
216
+ 4. Optional: replace the leaf-style "Building Locally" with the unscoped
217
+ form used in aggregate-root READMEs:
218
+
219
+ ````markdown
220
+ ## Building Locally
221
+
222
+ From the repo root:
223
+
224
+ ```sh
225
+ xy build # compile + publint + deplint + lint
226
+ xy test # vitest
227
+ xy lint # eslint
228
+ ```
229
+
230
+ Scope to this package: `xy build {{NAME}}`.
231
+ ````
232
+
233
+ ## Output
234
+
235
+ Write the assembled file to `./README.md` in the package directory. Then
236
+ remind the user:
237
+
238
+ - Hand-written sections (`## About` / `## Description`, `## What's Inside`,
239
+ `## Subpath Exports` if applicable) are TODOs to fill in.
240
+ - The Maintainers table is a default — edit it if the maintainers list
241
+ differs.
242
+ - Run the `readme-audit` skill once you've filled in the TODOs to verify
243
+ alignment with the convention.
package/package.json ADDED
@@ -0,0 +1,71 @@
1
+ {
2
+ "name": "@ariestools/cli",
3
+ "version": "0.1.6",
4
+ "description": "Aries Tools CLI - A suite of tools by Arie Trouw",
5
+ "keywords": [
6
+ "ariestools",
7
+ "cli",
8
+ "typescript"
9
+ ],
10
+ "homepage": "https://ariestools.ai",
11
+ "license": "UNLICENSED",
12
+ "author": {
13
+ "name": "Arie Trouw",
14
+ "email": "support@ariestools.ai",
15
+ "url": "https://ariestools.ai"
16
+ },
17
+ "sideEffects": false,
18
+ "type": "module",
19
+ "bin": {
20
+ "aries": "dist/bin/aries.mjs"
21
+ },
22
+ "files": [
23
+ "dist/bin",
24
+ "dist/plugins",
25
+ "README.md"
26
+ ],
27
+ "dependencies": {
28
+ "@opentelemetry/api": "~1.9.1",
29
+ "@xyo-network/sdk-protocol": "~7.2.1",
30
+ "async-mutex": "~0.5.0",
31
+ "ethers": "~6.17.0",
32
+ "imghash": "~1.1.4",
33
+ "lmdb": "~3.5.6",
34
+ "pdq-wasm": "~0.3.9",
35
+ "sharp": "~0.35.3",
36
+ "sharp-phash": "~2.2.0",
37
+ "zod": "~4.4.3",
38
+ "@ariestools/aries-chain-serve": "~0.1.6",
39
+ "@xyo-network/wallet-xl1-cli": "~0.1.6"
40
+ },
41
+ "devDependencies": {
42
+ "@ariestools/sdk": "~8.1.1",
43
+ "@ariestools/toolchain": "~8.7.15",
44
+ "@ariestools/tsconfig": "~8.7.15",
45
+ "@metamask/json-rpc-engine": "~10.5.0",
46
+ "@opentelemetry/sdk-trace-base": "~2.9.0",
47
+ "@types/node": "~26.1.1",
48
+ "@xyo-network/sdk": "~7.2.1",
49
+ "@xyo-network/xl1-sdk": "~4.4.7",
50
+ "eslint": "~10.7.0",
51
+ "rolldown": "~1.2.0",
52
+ "tsx": "~4.23.1",
53
+ "typescript": "~6.0.3",
54
+ "vite": "~8.1.4",
55
+ "vitest": "~4.1.10",
56
+ "web3-types": "~1.10.0",
57
+ "yargs": "~18.0.0",
58
+ "@ariestools/cli-lib": "~0.1.6"
59
+ },
60
+ "engines": {
61
+ "node": ">=18.17.1"
62
+ },
63
+ "engineStrict": true,
64
+ "publishConfig": {
65
+ "access": "public"
66
+ },
67
+ "scripts": {
68
+ "package-clean": "rm -rf dist bundle",
69
+ "package-compile": "tsc -p tsconfig.build.json --noEmit && rolldown -c rolldown.config.ts && tsx scripts/buildBundle.ts"
70
+ }
71
+ }