entrify-deploy 1.2.0 → 1.3.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 CHANGED
@@ -12,6 +12,20 @@ This installs the `entrify` command. The older `dropdeploy` command is installed
12
12
 
13
13
  ---
14
14
 
15
+ ## Use it from Claude Code
16
+
17
+ Install the plugin, then ask Claude to "deploy this":
18
+
19
+ ```
20
+ /plugin install entrify --marketplace kpndevrootentri/entrify-cli
21
+ ```
22
+
23
+ On Claude Code older than 2.1.275, run `/plugin marketplace add kpndevrootentri/entrify-cli`, then `/plugin install entrify@entrify`.
24
+
25
+ Claude installs the CLI if needed, deploys, and reads the build log when a deploy fails. It then fixes the cause (code, settings or environment variables) and deploys again. It asks before pushing code or rolling back, and never asks for your password in the chat.
26
+
27
+ ---
28
+
15
29
  ## Quick start
16
30
 
17
31
  ```bash
@@ -51,10 +65,11 @@ Trigger a deployment for the current repository.
51
65
  entrify deploy # auto-match project by git remote
52
66
  entrify deploy --project-id my-app # deploy to a specific project
53
67
  entrify deploy --project-id=my-app # same
68
+ entrify deploy --create # create a project from this repo if none matches
54
69
  entrify deploy --dir /path/to/repo # use a different directory
55
70
  ```
56
71
 
57
- Entrify deploys from your **git remote**, not local files. Push your changes before deploying.
72
+ Entrify deploys from your **git remote**, not local files. Push your changes before deploying. With `--create`, a repository that has no project yet gets one, named after the repository, with its framework detected.
58
73
 
59
74
  The project is matched by your `origin` remote, whether it's an HTTPS or SSH URL. If several projects use the same repo, the one on your current branch wins. The server always builds the **project's** branch; the CLI warns you when that isn't the branch you have checked out.
60
75
 
@@ -95,6 +110,39 @@ Your projects:
95
110
 
96
111
  ---
97
112
 
113
+ The commands below act on the project matched from the current repository. Pass `--project-id <id|slug>` to choose another.
114
+
115
+ ### `entrify status`
116
+ The latest deployment and the live URL. The live version can be older than the latest deployment when the latest one failed.
117
+
118
+ ### `entrify logs`
119
+ The build log of the latest deployment.
120
+
121
+ ```bash
122
+ entrify logs # last 200 lines
123
+ entrify logs --lines all
124
+ entrify logs --follow # stream a build that is still running
125
+ entrify logs --deployment <id> # a specific deployment
126
+ ```
127
+
128
+ ### `entrify env`
129
+ Environment variables. Entrify stores the values encrypted, and the CLI never prints them back. Changes apply on the next deploy.
130
+
131
+ ```bash
132
+ entrify env list # names only
133
+ entrify env set API_URL=https://x.io DEBUG=0
134
+ entrify env push .env.production # every variable in a .env file (default: .env)
135
+ entrify env unset DEBUG
136
+ ```
137
+
138
+ ### `entrify rollback`
139
+ Go back to the previous successful deployment, or to `--to <deployment-id>`.
140
+
141
+ ### `entrify cancel`
142
+ Cancel the deployment that is queued or building.
143
+
144
+ ---
145
+
98
146
  ### `entrify help`
99
147
  Print the full command reference.
100
148
 
@@ -114,7 +162,16 @@ export ENTRIFY_URL=https://entrify.site
114
162
  entrify deploy --project-id my-app
115
163
  ```
116
164
 
117
- `DROPDEPLOY_TOKEN`, `DROPDEPLOY_URL` and `DROPDEPLOY_EMAIL` still work. Without a terminal, the CLI never prompts. If it can't match the repository to a project, it exits with an error asking for `--project-id`.
165
+ `DROPDEPLOY_TOKEN`, `DROPDEPLOY_URL` and `DROPDEPLOY_EMAIL` still work. Without a terminal, the CLI never prompts. If it can't match the repository to a project, it exits with an error asking for `--project-id` or `--create`.
166
+
167
+ Add `--json` to any command for a single JSON object on stdout: `{ "ok": true, ... }`, or `{ "ok": false, "error": { "code": "...", "message": "..." }, ... }`. A failed deploy also includes `cause`, `fix` and the last 40 lines of the log (`logTail`). Exit codes:
168
+
169
+ | Code | Meaning |
170
+ |---|---|
171
+ | 0 | Success |
172
+ | 1 | The operation failed (for example, the build failed) |
173
+ | 2 | Needs input: a flag, a project, a file |
174
+ | 3 | Not logged in, or the login expired |
118
175
 
119
176
  ---
120
177
 
package/dist/api.d.ts CHANGED
@@ -4,6 +4,8 @@ export interface Project {
4
4
  name: string;
5
5
  slug: string;
6
6
  type: string;
7
+ /** GITHUB, GITLAB or UPLOAD. */
8
+ source?: string;
7
9
  githubUrl: string | null;
8
10
  /** The branch the server builds, whatever is checked out locally. */
9
11
  branch?: string;
@@ -25,6 +27,18 @@ export interface DeployStatus {
25
27
  commitHash: string | null;
26
28
  subdomain: string | null;
27
29
  }
30
+ export interface Deployment {
31
+ id: string;
32
+ status: string;
33
+ subdomain: string | null;
34
+ commitHash?: string | null;
35
+ createdAt: string;
36
+ }
37
+ export interface EnvVar {
38
+ id: string;
39
+ key: string;
40
+ environment: string;
41
+ }
28
42
  export interface DetectResult {
29
43
  type: string;
30
44
  confidence: 'high' | 'medium' | 'low';
@@ -48,6 +62,26 @@ export declare class EntrifyApi {
48
62
  listProjects(): Promise<Project[]>;
49
63
  detectType(repoUrl: string, branch: string): Promise<DetectResult>;
50
64
  triggerDeploy(projectId: string): Promise<DeployResult>;
65
+ createProject(dto: {
66
+ name: string;
67
+ source: 'GITHUB' | 'GITLAB';
68
+ githubUrl: string;
69
+ type?: string;
70
+ branch?: string;
71
+ }): Promise<Project>;
72
+ /** Newest first. */
73
+ listDeployments(projectId: string, limit?: number): Promise<Deployment[]>;
74
+ /** Re-runs an earlier deployment; resolves to the new deployment's id. */
75
+ rollback(projectId: string, deploymentId: string): Promise<{
76
+ deploymentId: string;
77
+ queued: boolean;
78
+ }>;
79
+ cancelDeployment(projectId: string, deploymentId: string): Promise<void>;
80
+ /** Keys only: the API never returns values. */
81
+ listEnv(projectId: string): Promise<EnvVar[]>;
82
+ createEnv(projectId: string, key: string, value: string): Promise<void>;
83
+ updateEnv(projectId: string, varId: string, value: string): Promise<void>;
84
+ deleteEnv(projectId: string, varId: string): Promise<void>;
51
85
  getDeploymentStatus(projectId: string, deploymentId: string): Promise<DeployStatus>;
52
86
  streamLogs(projectId: string, deploymentId: string): AsyncGenerator<SseEvent>;
53
87
  }
package/dist/api.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAG7C,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,KAAK,CAAC;QAClB,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACtC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,QAAQ,GAChB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAQrB,qBAAa,UAAU;IACrB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,KAAK,CAAS;gBAEV,KAAK,EAAE,WAAW;IAK9B,OAAO,CAAC,WAAW;YAOL,IAAI;IAyBZ,YAAY,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAIlC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAIlE,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAIvD,mBAAmB,CACvB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,YAAY,CAAC;IAOjB,UAAU,CACf,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GACnB,cAAc,CAAC,QAAQ,CAAC;CAoC5B"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
package/dist/api.js CHANGED
@@ -1,4 +1,4 @@
1
- import { apiErrorMessage, cliName } from './util.js';
1
+ import { CliError, EXIT, apiErrorMessage, cliName } from './util.js';
2
2
  function isSseEvent(x) {
3
3
  if (typeof x !== 'object' || x === null)
4
4
  return false;
@@ -30,11 +30,11 @@ export class EntrifyApi {
30
30
  });
31
31
  if (res.status === 401) {
32
32
  // CLI logins are JWTs that expire (7 days by default).
33
- throw new Error(`Your login has expired or is no longer valid. Run: ${cliName()} auth login`);
33
+ throw new CliError(`Your login has expired or is no longer valid. Run: ${cliName()} auth login`, 'AUTH_EXPIRED', EXIT.AUTH);
34
34
  }
35
35
  if (!res.ok) {
36
36
  const body = await res.json().catch(() => null);
37
- throw new Error(apiErrorMessage(body, `API ${res.status} on ${method} ${path}`));
37
+ throw new CliError(apiErrorMessage(body, `API ${res.status} on ${method} ${path}`), `HTTP_${res.status}`);
38
38
  }
39
39
  const payload = (await res.json());
40
40
  return payload.data;
@@ -52,6 +52,34 @@ export class EntrifyApi {
52
52
  async triggerDeploy(projectId) {
53
53
  return this.json('POST', `/api/projects/${projectId}/deploy`);
54
54
  }
55
+ async createProject(dto) {
56
+ return this.json('POST', '/api/projects', dto);
57
+ }
58
+ /** Newest first. */
59
+ async listDeployments(projectId, limit = 20) {
60
+ const data = await this.json('GET', `/api/projects/${projectId}/deployments?limit=${limit}`);
61
+ return data.deployments;
62
+ }
63
+ /** Re-runs an earlier deployment; resolves to the new deployment's id. */
64
+ async rollback(projectId, deploymentId) {
65
+ return this.json('POST', `/api/projects/${projectId}/deployments/${deploymentId}/rollback`);
66
+ }
67
+ async cancelDeployment(projectId, deploymentId) {
68
+ await this.json('POST', `/api/projects/${projectId}/deployments/${deploymentId}/cancel`);
69
+ }
70
+ /** Keys only: the API never returns values. */
71
+ async listEnv(projectId) {
72
+ return this.json('GET', `/api/projects/${projectId}/env-vars`);
73
+ }
74
+ async createEnv(projectId, key, value) {
75
+ await this.json('POST', `/api/projects/${projectId}/env-vars`, { key, value });
76
+ }
77
+ async updateEnv(projectId, varId, value) {
78
+ await this.json('PUT', `/api/projects/${projectId}/env-vars/${varId}`, { value });
79
+ }
80
+ async deleteEnv(projectId, varId) {
81
+ await this.json('DELETE', `/api/projects/${projectId}/env-vars/${varId}`);
82
+ }
55
83
  async getDeploymentStatus(projectId, deploymentId) {
56
84
  return this.json('GET', `/api/projects/${projectId}/deployments/${deploymentId}/logs`);
57
85
  }
package/dist/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}