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 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.