wirl 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 +55 -0
- package/bin.js +11318 -0
- package/package.json +32 -33
- package/serve-module.mjs +537 -0
- package/dist/index.d.mts +0 -73
- package/dist/index.d.ts +0 -73
- package/dist/index.js +0 -108
- package/dist/index.mjs +0 -82
package/README.md
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# wirl
|
|
2
|
+
|
|
3
|
+
Deploy an internal app somewhere real, privately. One command puts the folder you are in on a URL that only your company can open.
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
npm install -g https://app.wirl.dev/cli/wirl.tgz
|
|
7
|
+
wirl login # a link and a code; approve in the browser
|
|
8
|
+
wirl init my-tool --server
|
|
9
|
+
cd my-tool
|
|
10
|
+
wirl dev # runs it here, signed in as a stub user
|
|
11
|
+
wirl preview # a private address to look at it before it is live
|
|
12
|
+
wirl deploy # builds, scans, deploys; prints the URL
|
|
13
|
+
wirl share dana@company.com
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Install it from wirl itself, as above, and run plain `wirl`. Do not run `npx wirl`: that name on npm belongs to an unrelated older package today, and `npx` would fetch that one.
|
|
17
|
+
|
|
18
|
+
Sign in with your work Google account and you are in your company's workspace. Anything a colleague deploys there is yours to open, and nobody outside the company can. A personal account gets a space of its own.
|
|
19
|
+
|
|
20
|
+
## What an app is
|
|
21
|
+
|
|
22
|
+
A static folder needs nothing. A server-side app is one JavaScript module exporting `fetch(request, env)`:
|
|
23
|
+
|
|
24
|
+
- `env.DB` is a SQLite database that belongs to this app, in D1's prepared-statement shape. Rolling back code never rolls back data.
|
|
25
|
+
- `x-wirl-user-id`, `x-wirl-role` and `x-wirl-org` say who the visitor is. wirl sets them after verifying the person; the browser cannot forge them.
|
|
26
|
+
- Third-party APIs are called by their real URL. Declare the connection in `wirl.json`, and wirl attaches the key on the way out. The key never reaches the app, the agent that wrote it, or this machine.
|
|
27
|
+
- A `public_paths` entry in `wirl.json` opens one path to the internet with no sign-in — for a Slack, Stripe or GitHub webhook — and wirl checks the sender's signature before the app is ever called.
|
|
28
|
+
|
|
29
|
+
`wirl dev` runs the same bundle under Node, with the same database shape and headers, so what you see locally is what ships.
|
|
30
|
+
|
|
31
|
+
## For coding agents
|
|
32
|
+
|
|
33
|
+
`wirl init` writes `.claude/skills/wirl/SKILL.md` so Claude Code knows wirl is there. Agents that speak MCP can connect directly:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
claude mcp add --transport http wirl https://app.wirl.dev/mcp
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
That opens the browser once to sign in. The token an agent gets can deploy, roll back and pull, and cannot share apps, change who can open them, or touch connections, members or tokens. Ticking one box at consent grants full access. See the docs for what each scope covers.
|
|
40
|
+
|
|
41
|
+
## Everything else
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
wirl --help
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Orgs, members, connections, transfer, move, versions, rollback, pull, previews, logs, schedules, run.
|
|
48
|
+
|
|
49
|
+
## Requirements
|
|
50
|
+
|
|
51
|
+
Node 22.13 or later. Credentials live in `~/.config/wirl/credentials.json` after `wirl login`, or in `WIRL_TOKEN` for CI and sandboxes.
|
|
52
|
+
|
|
53
|
+
Docs: https://docs.wirl.dev. Site: https://wirl.dev. Issues: https://github.com/Brycce/wirl-platform/issues.
|
|
54
|
+
|
|
55
|
+
wirl is a hosted service; use of the CLI is governed by the terms at https://wirl.dev/terms.
|