create-seedcli 0.1.6 → 0.1.8

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/dist/index.js CHANGED
@@ -3,7 +3,7 @@ import { join } from "node:path";
3
3
  import { exists } from "@seedcli/filesystem";
4
4
  import { create, detect } from "@seedcli/package-manager";
5
5
  import { error, info, muted, newline, spin, success, warning } from "@seedcli/print";
6
- import { confirm, input, select } from "@seedcli/prompt";
6
+ import { input, select } from "@seedcli/prompt";
7
7
  import { kebabCase } from "@seedcli/strings";
8
8
  import { exec } from "@seedcli/system";
9
9
  import { directory } from "@seedcli/template";
@@ -53,6 +53,7 @@ async function parseArgs() {
53
53
  choices: [
54
54
  { name: "Full (recommended)", value: "full" },
55
55
  { name: "Minimal (bare bones)", value: "minimal" },
56
+ { name: "Plugin (reusable plugin package)", value: "plugin" },
56
57
  ],
57
58
  });
58
59
  const description = await input({
@@ -134,10 +135,21 @@ async function main() {
134
135
  newline();
135
136
  muted(" Next steps:\n");
136
137
  info(` cd ${options.name}`);
137
- info(" bun run dev");
138
- info(` bun run src/index.ts --help`);
139
- muted(`\n To use "${options.name}" as a global command:\n`);
140
- info(" bun link");
138
+ if (options.template === "plugin") {
139
+ info(" bun test");
140
+ muted(`\n To use this plugin in a CLI:\n`);
141
+ info(` import plugin from "${options.name}";`);
142
+ info("");
143
+ info(` const cli = build("my-cli")`);
144
+ info(` .plugin(plugin)`);
145
+ info(` .create();`);
146
+ }
147
+ else {
148
+ info(" bun run dev");
149
+ info(` bun run src/index.ts --help`);
150
+ muted(`\n To use "${options.name}" as a global command:\n`);
151
+ info(" bun link");
152
+ }
141
153
  newline();
142
154
  }
143
155
  main().catch((err) => {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-seedcli",
3
- "version": "0.1.6",
3
+ "version": "0.1.8",
4
4
  "description": "Scaffold a new Seed CLI project — works with bun create, npx, and npm create",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -40,15 +40,15 @@
40
40
  "templates"
41
41
  ],
42
42
  "dependencies": {
43
- "@seedcli/filesystem": "^0.1.0",
44
- "@seedcli/package-manager": "^0.1.0",
45
- "@seedcli/print": "^0.1.0",
46
- "@seedcli/prompt": "^0.1.0",
47
- "@seedcli/strings": "^0.1.0",
48
- "@seedcli/system": "^0.1.0",
49
- "@seedcli/template": "^0.1.0"
43
+ "@seedcli/filesystem": "^0.1.7",
44
+ "@seedcli/package-manager": "^0.1.7",
45
+ "@seedcli/print": "^0.1.7",
46
+ "@seedcli/prompt": "^0.1.7",
47
+ "@seedcli/strings": "^0.1.7",
48
+ "@seedcli/system": "^0.1.7",
49
+ "@seedcli/template": "^0.1.7"
50
50
  },
51
51
  "devDependencies": {
52
- "@seedcli/testing": "^0.1.0"
52
+ "@seedcli/testing": "^0.1.7"
53
53
  }
54
54
  }
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "<%= it.name %>",
3
+ "version": "<%= it.version %>",
4
+ "description": "<%= it.description %>",
5
+ "type": "module",
6
+ "exports": {
7
+ ".": {
8
+ "import": "./src/index.ts",
9
+ "types": "./src/index.ts"
10
+ }
11
+ },
12
+ "scripts": {
13
+ "test": "bun test",
14
+ "typecheck": "tsc --noEmit"
15
+ },
16
+ "dependencies": {
17
+ "@seedcli/core": "^<%= it.seedcliVersion %>"
18
+ },
19
+ "peerDependencies": {
20
+ "@seedcli/core": "^<%= it.seedcliVersion %>"
21
+ },
22
+ "devDependencies": {
23
+ "@seedcli/testing": "^<%= it.seedcliVersion %>",
24
+ "@types/bun": "latest",
25
+ "typescript": "^5.9.0"
26
+ }
27
+ }
@@ -0,0 +1,17 @@
1
+ import { command, arg, flag } from "@seedcli/core";
2
+
3
+ export default command({
4
+ name: "hello",
5
+ description: "Say hello",
6
+ args: {
7
+ name: arg({ type: "string", description: "Who to greet" }),
8
+ },
9
+ flags: {
10
+ loud: flag({ type: "boolean", default: false, alias: "l", description: "SHOUT the greeting" }),
11
+ },
12
+ run: async ({ args, flags, print }) => {
13
+ const name = args.name ?? "World";
14
+ const greeting = `Hello, ${name}!`;
15
+ print.info(flags.loud ? greeting.toUpperCase() : greeting);
16
+ },
17
+ });
@@ -0,0 +1,24 @@
1
+ import { defineExtension } from "@seedcli/core";
2
+
3
+ declare module "@seedcli/core" {
4
+ interface ToolboxExtensions {
5
+ <%= it.name.replace(/-/g, "_") %>: {
6
+ greet(name: string): string;
7
+ };
8
+ }
9
+ }
10
+
11
+ export const exampleExtension = defineExtension({
12
+ name: "<%= it.name %>",
13
+ description: "Example extension for <%= it.name %>",
14
+
15
+ setup: (toolbox) => {
16
+ (toolbox as unknown as Record<string, unknown>).<%= it.name.replace(/-/g, "_") %> = {
17
+ greet: (name: string) => `Hello from <%= it.name %>, ${name}!`,
18
+ };
19
+ },
20
+
21
+ teardown: () => {
22
+ // Clean up resources if needed
23
+ },
24
+ });
@@ -0,0 +1,11 @@
1
+ import { definePlugin } from "@seedcli/core";
2
+ import helloCommand from "./commands/hello.js";
3
+ import { exampleExtension } from "./extensions/example.js";
4
+
5
+ export default definePlugin({
6
+ name: "<%= it.name %>",
7
+ version: "<%= it.version %>",
8
+ description: "<%= it.description %>",
9
+ commands: [helloCommand],
10
+ extensions: [exampleExtension],
11
+ });
@@ -0,0 +1,19 @@
1
+ import { describe, expect, test } from "bun:test";
2
+ import { build } from "@seedcli/core";
3
+ import { createTestCli } from "@seedcli/testing";
4
+ import plugin from "../src/index.js";
5
+
6
+ describe("<%= it.name %> plugin", () => {
7
+ test("hello command runs", async () => {
8
+ const runtime = build("test-cli")
9
+ .plugin(plugin)
10
+ .version("0.0.1")
11
+ .create();
12
+
13
+ const cli = createTestCli(runtime);
14
+ const result = await cli.run("hello");
15
+
16
+ expect(result.stdout).toContain("Hello, World!");
17
+ expect(result.exitCode).toBe(0);
18
+ });
19
+ });
@@ -0,0 +1,17 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ESNext",
4
+ "module": "ESNext",
5
+ "moduleResolution": "bundler",
6
+ "esModuleInterop": true,
7
+ "strict": true,
8
+ "skipLibCheck": true,
9
+ "declaration": true,
10
+ "isolatedModules": true,
11
+ "verbatimModuleSyntax": true,
12
+ "noEmit": true,
13
+ "types": ["@types/bun"]
14
+ },
15
+ "include": ["src/**/*.ts"],
16
+ "exclude": ["node_modules", "dist"]
17
+ }