deployai 0.0.1 → 0.1.0-beta.10

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.
Files changed (4) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +146 -2
  3. package/dist/index.js +24498 -0
  4. package/package.json +59 -7
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 DeployAI
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,5 +1,149 @@
1
1
  # deployai
2
2
 
3
- The DeployAI CLI is in development and not released yet.
3
+ The DeployAI command line tool. It checks a site built with an AI editor, explains what has to change, and publishes it to DeployAI.
4
4
 
5
- https://deployai.co.il
5
+ The output is short and structured for your AI agent. The results you may read (check, deploy, status and the rest) are in your language when you start from the DeployAI site, or with `--lang he|en`; the instructions for the agent stay English.
6
+
7
+ Website: https://deployai.co.il. For developers: https://deployai.co.il/developers.
8
+
9
+ ## Quick start
10
+
11
+ The easiest start is on https://deployai.co.il:
12
+ 1. Choose a sample or "Go live now".
13
+ 2. Copy the one line it gives you into an AI agent that can run commands in your folder (Claude Code, Cursor, GitHub Copilot in VS Code, Codex in the ChatGPT app, or Google Antigravity).
14
+
15
+ The line is `npx deployai@latest start <id>`. It carries every choice you made there, prepares the folder, and prints the steps for the agent.
16
+
17
+ Already have a site in this folder? Ask your agent:
18
+
19
+ ```
20
+ Run npx deployai@latest check and fix what it lists, then npx deployai@latest deploy --guest. Explain every step to me in simple words and ask me before anything goes live.
21
+ ```
22
+
23
+ If `npx` is missing, install Node.js LTS from https://nodejs.org first.
24
+
25
+ ## Install
26
+
27
+ ```
28
+ npx deployai check
29
+ # or
30
+ pnpm dlx deployai check
31
+ # or install it once
32
+ npm i -g deployai
33
+ ```
34
+
35
+ Node 20 or newer. No other setup: the CLI talks to https://deployai.co.il.
36
+
37
+ ## Commands
38
+
39
+ | Command | What it does |
40
+ |---------|--------------|
41
+ | `deployai init` | Creates `DEPLOYAI.md` (rules for the AI agent: the stack to build with, what to avoid, how to keep existing data), adds one line pointing to it in `AGENTS.md` and `CLAUDE.md`, and `.deployai/project.json`. Run it first in a new project, even an empty folder. Never edits your code and does not link a project (use `link`). `--force` overwrites `DEPLOYAI.md`, `--no-agent-files` leaves `AGENTS.md` and `CLAUDE.md` alone. |
42
+ | `deployai inspect` | Shows framework, package manager, language, database, storage and the number of env files (values are never read). `--json` for machine output. |
43
+ | `deployai check` | Lists blockers and warnings with file and line. It answers only whether the project can run on DeployAI. More below. |
44
+ | `deployai login` | Logs in through the browser (device code). The token lasts 30 days and is stored in `~/.deployai/config.json` with the API address that issued it; it is never sent to another address. |
45
+ | `deployai logout` | Cancels the token on DeployAI and removes it from this computer. |
46
+ | `deployai whoami` | Shows the logged in user. |
47
+ | `deployai link [project]` | Links this folder to a project (slug, id or name). `--create "<name>"` makes a new project. With no name it never links on its own: in a terminal it asks first, an agent gets the exact `link <slug>` command. |
48
+ | `deployai deploy -m "<message>"` | Runs the check, packs the source and uploads it. Prints the version, the queue position and the preview address. |
49
+ | `deployai versions` | Lists versions: number, live or not, status ("replaced by a newer upload" for one that never built), date, size, message, and a dashboard link when its SQL waits for approval. |
50
+ | `deployai rollback v5` | Puts version 5 back live, with no rebuild. |
51
+ | `deployai promote v5` | Puts version 5 live. |
52
+ | `deployai status` | Site state, address, live version, the newest version when it is not live yet (with the promote command once it is ready), and queue. |
53
+ | `deployai deploy --guest` | No login needed: puts the site live as a temporary site with a claim link. More below. |
54
+ | `deployai pull` | Downloads the code of the linked site's live version into this empty folder. Needs login. |
55
+ | `deployai claim` | Prints this folder's temporary site keep link again. `--email <address>` mails it, with a reminder before the delete. |
56
+ | `deployai samples [name] [folder]` | Lists the six sample sites, or downloads one. More below. |
57
+ | `deployai start <id>` | The one line copied on the DeployAI site. Prepares this folder, then prints the steps for your agent. No login needed. More below. |
58
+ | `deployai speed <url>` | Google PageSpeed test of a page: lab results, real visitor data when Google has it and the biggest opportunities. `--desktop` tests a desktop load. |
59
+ | `deployai addons` | The marketplace add-ons of the linked site: which it has, which are done and which is next. Works once the DeployAI marketplace is open; the server checks that the site has each add-on. |
60
+ | `deployai addon next` | Prints the next add-on of the site for your agent. `deployai addon run <name>` prints one by name. |
61
+ | `deployai addon done <runId>` | Saves the report of a finished add-on (`--status done\|failed\|skipped`, `--report .deployai/addon-report.json`) and prints the next one. |
62
+ | `deployai telemetry status\|on\|off` | Shows exactly what is sent, or turns it on or off. |
63
+
64
+ Global options:
65
+ - `--api <url>` (or env `DEPLOYAI_API_URL`)
66
+ - `-C, --dir <path>` to run on another folder
67
+ - `--lang he|en` for the language of the results (or env `DEPLOYAI_LANG`; `start` saves the one the owner chose)
68
+
69
+ ### Command details
70
+
71
+ **`deployai check`**
72
+ - Lists blockers and warnings with file and line, and writes `.deployai/last-check.json`.
73
+ - Prints a prompt for your AI editor and copies it to the clipboard.
74
+ - Exit code 1 when there are blockers.
75
+ - `--json` for machine output, `--no-clipboard` to skip the copy.
76
+ - It answers only whether the project can run on DeployAI.
77
+
78
+ **`deployai deploy --guest`**
79
+ - No login needed: puts the site live as a temporary site with a claim link, deleted after the days DeployAI sets unless you claim it.
80
+ - A temporary site may have a small database, but no file storage or environment variables.
81
+ - A folder linked to a site in an account refuses: run `login`, then `deploy`.
82
+ - For a database sample it prints the site's owner keys once ("shown once, save them now"). They are never stored, so save them right away.
83
+
84
+ **`deployai samples [name] [folder]`**
85
+ - Lists the six sample sites, or downloads one.
86
+ - Without a folder it uses this folder when empty. Otherwise it asks in a terminal (a new folder, this folder or cancel), and an agent gets a new folder named after the sample.
87
+ - A named folder must be new or empty (`--force` writes into one that has files).
88
+ - The next steps end with `deployai deploy --guest` when you are logged out, or `deployai deploy -m "first version"` when logged in.
89
+
90
+ **`deployai start <id>`**
91
+ - The one line copied on the DeployAI site.
92
+ - Prepares this folder with every choice made there: a new folder for a new site when this one has files, the sample and its install, the owner's details, the link to the site. Then prints the steps for your agent.
93
+ - No login needed.
94
+ - It saves the owner's language, so later results print in it (D-266; `--lang he|en` or `DEPLOYAI_LANG` override it).
95
+ - `--here` keeps this folder, `--no-install` skips the install.
96
+
97
+ ## Help for every finding
98
+
99
+ Every blocker and warning has a code (for example `fs_write`) and a help page, which `check` prints:
100
+ - Hebrew: https://deployai.co.il/help/fs-write
101
+ - English: https://deployai.co.il/en/help/fs-write
102
+ - All codes: https://deployai.co.il/help
103
+
104
+ Each page says what the finding means, why it blocks or warns, how to fix it, and gives a prompt to copy into your agent.
105
+
106
+ ## API address
107
+
108
+ The default is `https://deployai.co.il`. The order is: `--api <url>`, then env `DEPLOYAI_API_URL`, then the address saved at login, then the default. For local development of DeployAI itself, use `--api http://localhost:3000` or `DEPLOYAI_API_URL=http://localhost:3000`.
109
+
110
+ ## What deploy uploads
111
+
112
+ The source folder, packed as a `.tar.gz`. The upload is capped at 50 MB.
113
+
114
+ Never uploaded:
115
+ - `node_modules`, `.git`, and tool caches like `.next`, `.astro`, `.svelte-kit`, `.wrangler`
116
+ - `dist`, `build`, `out` at the project root when `package.json` has a build script (DeployAI builds them again). Folders like `assets/build/` are uploaded.
117
+ - `.deployai/`, `DEPLOYAI.md`, `CLAUDE.md`, `AGENTS.md`, `.claude/`, `.cursor/`, `.vscode/` and other dotfiles (except `.well-known/` and build config like `.babelrc`). DeployAI never serves these either, however they arrive.
118
+ - Any `.env*` file
119
+ - Anything in the root `.gitignore` or in `.deployaiignore` (gitignore style, read last, so `!file` brings a file back)
120
+ - Files over 10 MB
121
+
122
+ ## Telemetry
123
+
124
+ Sent when on:
125
+
126
+ - Install id (random, made on this computer) and CLI version
127
+ - After each command: command name and result (success, blocked, error category)
128
+ - Linked project id, detected framework and version
129
+ - After each check: compatible or not, blocker and warning codes (for example `fs_write`)
130
+ - OS, architecture and Node version (in the request header)
131
+ - Your user id, only after login
132
+
133
+ Never sent: source code or file contents, `.env` values or any secret, file paths or file names.
134
+
135
+ Turn it off with `deployai telemetry off`, or set `DEPLOYAI_TELEMETRY=0` or `DO_NOT_TRACK=1`. Off stops everything except the deploy API calls themselves.
136
+
137
+ ## Development
138
+
139
+ ```
140
+ pnpm --filter ./packages/cli test
141
+ pnpm --filter ./packages/cli typecheck
142
+ pnpm --filter ./packages/cli build
143
+ pnpm --filter ./packages/cli start -- check
144
+ ```
145
+
146
+ - `@deployai/shared` and `zod` are bundled into `dist/index.js` by tsup, so the published package depends only on `commander`.
147
+ - The package ships only `dist` and this README (check with `npm pack --dry-run`).
148
+ - Publish from this folder with `pnpm publish`: `prepublishOnly` builds and runs the tests first.
149
+ - On npm as `deployai`: run it with `npx deployai@latest <command>`.