create-acrylblends 0.1.0 → 0.1.1

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 ADDED
@@ -0,0 +1,62 @@
1
+ # create-acrylblends
2
+
3
+ Create an Acryl app with one command.
4
+
5
+ ```sh
6
+ npm create acrylblends@latest my-app
7
+ ```
8
+
9
+ It asks which template you want, creates `my-app`, and prints what to run next. Other package managers work the same way: `pnpm create acrylblends@latest`, `yarn create acrylblends`, `bun create acrylblends@latest`.
10
+
11
+ ## Templates
12
+
13
+ | Template | What you get |
14
+ | --- | --- |
15
+ | `nodejs` | an Acryl app served with `serve()` from `acrylblends/node-server`, with a test; run with Node.js 22.19 or newer |
16
+ | `bun` (experimental) | the same app for Bun, with `export default app` |
17
+ | `acryl-app` | a Cordis app built from plugins, with an agent that can extend it while it runs (the same app `npx acrylblends init --template agent` creates) |
18
+
19
+ Every template includes `AGENTS.md`, `CLAUDE.md` and a copy of the framework documentation in `docs/framework/`, so a coding agent working in the folder reads the API from the folder.
20
+
21
+ ## Non-interactive use
22
+
23
+ Arguments for the initializer go after `--` with `npm create`:
24
+
25
+ ```sh
26
+ npm create acrylblends@latest my-app -- --template nodejs --install --pm npm
27
+ ```
28
+
29
+ | Option | |
30
+ | --- | --- |
31
+ | `--template <name>` | `nodejs`, `bun` or `acryl-app` |
32
+ | `--install` | install the dependencies after creating the app |
33
+ | `--pm <manager>` | `npm`, `pnpm`, `yarn` or `bun` (default: the one that ran the command) |
34
+ | `-y`, `--yes` | ask nothing: template `nodejs`, directory `acrylblends-app` unless given |
35
+
36
+ ## Then
37
+
38
+ ```sh
39
+ cd my-app
40
+ npm install # unless you passed --install
41
+ npm run dev # prints its URL; GET / answers "Acryl!"
42
+ npm test
43
+ ```
44
+
45
+ ```ts
46
+ import { Acryl } from 'acrylblends'
47
+
48
+ const app = new Acryl()
49
+ app.get('/', (c) => c.text('Acryl!'))
50
+
51
+ export default app
52
+ ```
53
+
54
+ ## Links
55
+
56
+ - Documentation: https://acrylblends.github.io/docs (mirrored at https://acryl.dev/docs)
57
+ - The framework package: https://www.npmjs.com/package/acrylblends
58
+ - Source and issues: https://github.com/acrylblends/acrylblends
59
+ - Blends registry: https://acrylblends.github.io/blends
60
+ - ACRYL: https://acryl.dev
61
+
62
+ MIT license.
@@ -1,3 +1,3 @@
1
1
  # Generated copy
2
2
 
3
- This folder is a copy of `docs/framework` of acryldev/acryl at commit `f5151e7f0c4de3b81bddb5cc686b5ef329e48e1c`, made by `scripts/sync-framework.mjs`. Do not edit it here: change the text in ACRYL and sync again. `pnpm run verify:framework` fails when a page differs from the recorded digest.
3
+ This folder is a copy of `docs/framework` of acryldev/acryl at commit `5743482e4199ded676a77f594bce15fd4aa0ca2f`, made by `scripts/sync-framework.mjs`. Do not edit it here: change the text in ACRYL and sync again. `pnpm run verify:framework` fails when a page differs from the recorded digest.
@@ -91,6 +91,12 @@ an `Allow` header on every route; a missing or wrong agent-hook token is 401 wit
91
91
  must be the app's own loopback address. Its routes refuse an in-process call on purpose (the guard needs a socket to check), so its tests
92
92
  run over loopback through the same adapter (`tests/serve-api.ts`), which is the "test over the Host" below.
93
93
 
94
+ `acryl-agent-control` (the door `acryl control`, workers and the MCP config use) moved the same way and kept its trust model exactly:
95
+ operator routes still answer a non-loopback peer or a missing or wrong secret with 403 `{ "error": "forbidden" }`, which `acryl control`
96
+ reads as "refused", never the bearer middleware's 401. What changed there: an oversized body is 413 (was 400), a wrong method's `Allow`
97
+ lists what the router serves (`GET, HEAD` for the audit log), and a page route's refusal carries `loopbackOnly`'s message instead of
98
+ `forbidden`. Only the page channel's WebSocket stays a webServer upgrade.
99
+
94
100
  ## Completion check
95
101
 
96
102
  A capability is migrated when:
@@ -2,8 +2,8 @@
2
2
  "source": {
3
3
  "repo": "acryldev/acryl",
4
4
  "path": "docs/framework",
5
- "commit": "f5151e7f0c4de3b81bddb5cc686b5ef329e48e1c"
5
+ "commit": "5743482e4199ded676a77f594bce15fd4aa0ca2f"
6
6
  },
7
7
  "files": 87,
8
- "digest": "sha256:fcaa5ddb5ba4b3912151959e2031c8463d1a61ce543057ca328ebdd6e2e63d4a"
8
+ "digest": "sha256:31bf1c46fbe74d7d2664b3b935a18bd916b8cab1b9ee9c2b006b8a75617a04f6"
9
9
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-acrylblends",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Create an Acryl app: npm create acrylblends@latest",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -37,7 +37,7 @@
37
37
  "scaffold"
38
38
  ],
39
39
  "dependencies": {
40
- "acrylblends": "^0.5.0"
40
+ "acrylblends": "^0.5.1"
41
41
  },
42
42
  "publishConfig": {
43
43
  "access": "public"