create-assistant-ui 0.0.54 → 0.0.56

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
@@ -1,9 +1,33 @@
1
1
  # `create-assistant-ui`
2
2
 
3
- This package contains the command line interface for `create-assistant-ui`.
3
+ [![npm version](https://img.shields.io/npm/v/create-assistant-ui)](https://www.npmjs.com/package/create-assistant-ui)
4
+ [![npm downloads](https://img.shields.io/npm/dm/create-assistant-ui)](https://www.npmjs.com/package/create-assistant-ui)
5
+ [![GitHub stars](https://img.shields.io/github/stars/assistant-ui/assistant-ui)](https://github.com/assistant-ui/assistant-ui)
6
+
7
+ Scaffold a new assistant-ui project from a chosen template (default AI SDK, minimal, cloud, langgraph, MCP, and more).
4
8
 
5
9
  ## Usage
6
10
 
7
- ```sh
8
- npm create assistant-ui
11
+ ```bash
12
+ npm create assistant-ui my-app
13
+ pnpm create assistant-ui my-app
14
+ yarn create assistant-ui my-app
15
+ bunx create-assistant-ui my-app
9
16
  ```
17
+
18
+ This wraps the `assistant-ui create` command from the [`assistant-ui` CLI](https://www.npmjs.com/package/assistant-ui). Pass `-t <template>` to pick a starter, or `--preset <url>` to scaffold from an `assistant-ui.com` playground link.
19
+
20
+ ## Templates
21
+
22
+ | Name | Description |
23
+ | -------------- | ---------------------------------------------------------- |
24
+ | `default` | Next.js + Vercel AI SDK (the recommended starting point). |
25
+ | `minimal` | Smallest possible Next.js + assistant-ui setup. |
26
+ | `cloud` | Default template plus Assistant Cloud thread persistence. |
27
+ | `cloud-clerk` | Cloud template with Clerk authentication. |
28
+ | `langgraph` | Next.js + LangGraph agent backend. |
29
+ | `mcp` | Next.js + an MCP server integration. |
30
+
31
+ ## Documentation
32
+
33
+ Full template list and flag reference at [assistant-ui.com/docs/cli](https://www.assistant-ui.com/docs/cli).
package/dist/index.d.ts CHANGED
@@ -1,3 +1 @@
1
- #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=index.d.ts.map
1
+ export { };
package/dist/index.js CHANGED
@@ -1,6 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import { main } from "./run.js";
3
+ //#region src/index.ts
3
4
  process.on("SIGINT", () => process.exit(0));
4
5
  process.on("SIGTERM", () => process.exit(0));
5
- void main();
6
+ main();
7
+ //#endregion
8
+
6
9
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,iBAAc;AAE7B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7C,KAAK,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { main } from \"./run\";\n\nprocess.on(\"SIGINT\", () => process.exit(0));\nprocess.on(\"SIGTERM\", () => process.exit(0));\n\nvoid main();\n"],"mappings":";;;AAGA,QAAQ,GAAG,gBAAgB,QAAQ,KAAK,CAAC,CAAC;AAC1C,QAAQ,GAAG,iBAAiB,QAAQ,KAAK,CAAC,CAAC;AAEtC,KAAK"}
package/dist/run.d.ts CHANGED
@@ -1,2 +1,5 @@
1
- export declare function main(): Promise<void>;
1
+ //#region src/run.d.ts
2
+ declare function main(): Promise<void>;
3
+ //#endregion
4
+ export { main };
2
5
  //# sourceMappingURL=run.d.ts.map
package/dist/run.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAoDA,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAmB1C"}
1
+ {"version":3,"file":"run.d.ts","names":[],"sources":["../src/run.ts"],"mappings":";iBAoDsB,IAAA,CAAA,GAAQ,OAAO"}
package/dist/run.js CHANGED
@@ -2,58 +2,47 @@ import { spawn } from "cross-spawn";
2
2
  import { readFile } from "node:fs/promises";
3
3
  import { createRequire } from "node:module";
4
4
  import path from "node:path";
5
+ //#region src/run.ts
5
6
  const require = createRequire(import.meta.url);
6
- class SpawnExitError extends Error {
7
- code;
8
- constructor(code) {
9
- super(`Process exited with code ${code}`);
10
- this.code = code;
11
- }
12
- }
7
+ var SpawnExitError = class extends Error {
8
+ code;
9
+ constructor(code) {
10
+ super(`Process exited with code ${code}`);
11
+ this.code = code;
12
+ }
13
+ };
13
14
  function runSpawn(command, args) {
14
- return new Promise((resolve, reject) => {
15
- const child = spawn(command, args, {
16
- stdio: "inherit",
17
- });
18
- child.on("error", (error) => reject(error));
19
- child.on("close", (code) => {
20
- if (code !== 0) {
21
- reject(new SpawnExitError(code || 1));
22
- }
23
- else {
24
- resolve();
25
- }
26
- });
27
- });
15
+ return new Promise((resolve, reject) => {
16
+ const child = spawn(command, args, { stdio: "inherit" });
17
+ child.on("error", (error) => reject(error));
18
+ child.on("close", (code) => {
19
+ if (code !== 0) reject(new SpawnExitError(code || 1));
20
+ else resolve();
21
+ });
22
+ });
28
23
  }
29
24
  async function resolveAssistantUiBinPath() {
30
- const packageJsonPath = require.resolve("assistant-ui/package.json");
31
- const packageJsonRaw = await readFile(packageJsonPath, "utf8");
32
- const packageJson = JSON.parse(packageJsonRaw);
33
- const bin = typeof packageJson.bin === "string"
34
- ? packageJson.bin
35
- : packageJson.bin?.["assistant-ui"];
36
- if (!bin) {
37
- throw new Error("assistant-ui package does not expose a binary.");
38
- }
39
- return path.resolve(path.dirname(packageJsonPath), bin);
25
+ const packageJsonPath = require.resolve("assistant-ui/package.json");
26
+ const packageJsonRaw = await readFile(packageJsonPath, "utf8");
27
+ const packageJson = JSON.parse(packageJsonRaw);
28
+ const bin = typeof packageJson.bin === "string" ? packageJson.bin : packageJson.bin?.["assistant-ui"];
29
+ if (!bin) throw new Error("assistant-ui package does not expose a binary.");
30
+ return path.resolve(path.dirname(packageJsonPath), bin);
40
31
  }
41
- export async function main() {
42
- try {
43
- const assistantUiBinPath = await resolveAssistantUiBinPath();
44
- const args = process.argv.slice(2);
45
- if (args[0] !== "create") {
46
- args.unshift("create");
47
- }
48
- await runSpawn(process.execPath, [assistantUiBinPath, ...args]);
49
- }
50
- catch (error) {
51
- if (error instanceof SpawnExitError) {
52
- process.exit(error.code);
53
- }
54
- const message = error instanceof Error ? error.message : String(error);
55
- console.error(`Error: ${message}`);
56
- process.exit(1);
57
- }
32
+ async function main() {
33
+ try {
34
+ const assistantUiBinPath = await resolveAssistantUiBinPath();
35
+ const args = process.argv.slice(2);
36
+ if (args[0] !== "create") args.unshift("create");
37
+ await runSpawn(process.execPath, [assistantUiBinPath, ...args]);
38
+ } catch (error) {
39
+ if (error instanceof SpawnExitError) process.exit(error.code);
40
+ const message = error instanceof Error ? error.message : String(error);
41
+ console.error(`Error: ${message}`);
42
+ process.exit(1);
43
+ }
58
44
  }
45
+ //#endregion
46
+ export { main };
47
+
59
48
  //# sourceMappingURL=run.js.map
package/dist/run.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","names":[],"sources":["../src/run.ts"],"sourcesContent":["import { spawn } from \"cross-spawn\";\nimport { readFile } from \"node:fs/promises\";\nimport { createRequire } from \"node:module\";\nimport path from \"node:path\";\n\nconst require = createRequire(import.meta.url);\n\nclass SpawnExitError extends Error {\n code: number;\n\n constructor(code: number) {\n super(`Process exited with code ${code}`);\n this.code = code;\n }\n}\n\nfunction runSpawn(command: string, args: string[]): Promise<void> {\n return new Promise((resolve, reject) => {\n const child = spawn(command, args, {\n stdio: \"inherit\",\n });\n\n child.on(\"error\", (error) => reject(error));\n child.on(\"close\", (code) => {\n if (code !== 0) {\n reject(new SpawnExitError(code || 1));\n } else {\n resolve();\n }\n });\n });\n}\n\nasync function resolveAssistantUiBinPath(): Promise<string> {\n const packageJsonPath = require.resolve(\"assistant-ui/package.json\");\n const packageJsonRaw = await readFile(packageJsonPath, \"utf8\");\n const packageJson = JSON.parse(packageJsonRaw) as {\n bin?: string | Record<string, string>;\n };\n\n const bin =\n typeof packageJson.bin === \"string\"\n ? packageJson.bin\n : packageJson.bin?.[\"assistant-ui\"];\n\n if (!bin) {\n throw new Error(\"assistant-ui package does not expose a binary.\");\n }\n\n return path.resolve(path.dirname(packageJsonPath), bin);\n}\n\nexport async function main(): Promise<void> {\n try {\n const assistantUiBinPath = await resolveAssistantUiBinPath();\n\n const args = process.argv.slice(2);\n if (args[0] !== \"create\") {\n args.unshift(\"create\");\n }\n\n await runSpawn(process.execPath, [assistantUiBinPath, ...args]);\n } catch (error) {\n if (error instanceof SpawnExitError) {\n process.exit(error.code);\n }\n\n const message = error instanceof Error ? error.message : String(error);\n console.error(`Error: ${message}`);\n process.exit(1);\n }\n}\n"],"mappings":";;;;;AAKA,MAAM,UAAU,cAAc,OAAO,KAAK,GAAG;AAE7C,IAAM,iBAAN,cAA6B,MAAM;CACjC;CAEA,YAAY,MAAc;EACxB,MAAM,4BAA4B,MAAM;EACxC,KAAK,OAAO;CACd;AACF;AAEA,SAAS,SAAS,SAAiB,MAA+B;CAChE,OAAO,IAAI,SAAS,SAAS,WAAW;EACtC,MAAM,QAAQ,MAAM,SAAS,MAAM,EACjC,OAAO,UACT,CAAC;EAED,MAAM,GAAG,UAAU,UAAU,OAAO,KAAK,CAAC;EAC1C,MAAM,GAAG,UAAU,SAAS;GAC1B,IAAI,SAAS,GACX,OAAO,IAAI,eAAe,QAAQ,CAAC,CAAC;QAEpC,QAAQ;EAEZ,CAAC;CACH,CAAC;AACH;AAEA,eAAe,4BAA6C;CAC1D,MAAM,kBAAkB,QAAQ,QAAQ,2BAA2B;CACnE,MAAM,iBAAiB,MAAM,SAAS,iBAAiB,MAAM;CAC7D,MAAM,cAAc,KAAK,MAAM,cAAc;CAI7C,MAAM,MACJ,OAAO,YAAY,QAAQ,WACvB,YAAY,MACZ,YAAY,MAAM;CAExB,IAAI,CAAC,KACH,MAAM,IAAI,MAAM,gDAAgD;CAGlE,OAAO,KAAK,QAAQ,KAAK,QAAQ,eAAe,GAAG,GAAG;AACxD;AAEA,eAAsB,OAAsB;CAC1C,IAAI;EACF,MAAM,qBAAqB,MAAM,0BAA0B;EAE3D,MAAM,OAAO,QAAQ,KAAK,MAAM,CAAC;EACjC,IAAI,KAAK,OAAO,UACd,KAAK,QAAQ,QAAQ;EAGvB,MAAM,SAAS,QAAQ,UAAU,CAAC,oBAAoB,GAAG,IAAI,CAAC;CAChE,SAAS,OAAO;EACd,IAAI,iBAAiB,gBACnB,QAAQ,KAAK,MAAM,IAAI;EAGzB,MAAM,UAAU,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;EACrE,QAAQ,MAAM,UAAU,SAAS;EACjC,QAAQ,KAAK,CAAC;CAChB;AACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-assistant-ui",
3
- "version": "0.0.54",
3
+ "version": "0.0.56",
4
4
  "description": "Create assistant-ui apps with one command",
5
5
  "keywords": [
6
6
  "cli",
@@ -26,11 +26,11 @@
26
26
  "sideEffects": false,
27
27
  "dependencies": {
28
28
  "cross-spawn": "^7.0.6",
29
- "assistant-ui": "0.0.91"
29
+ "assistant-ui": "0.0.93"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@types/cross-spawn": "^6.0.6",
33
- "@assistant-ui/x-buildutils": "0.0.7"
33
+ "@assistant-ui/x-buildutils": "0.0.9"
34
34
  },
35
35
  "publishConfig": {
36
36
  "access": "public",
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}