create-kumiko-app 0.3.2
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 +44 -0
- package/bin/cli.ts +4 -0
- package/feature-manifest.json +1676 -0
- package/package.json +48 -0
- package/src/__tests__/cli.test.ts +78 -0
- package/src/__tests__/dep-resolver.test.ts +46 -0
- package/src/__tests__/manifest-drift.test.ts +31 -0
- package/src/__tests__/picker.test.ts +35 -0
- package/src/dep-resolver.ts +44 -0
- package/src/feature-constructors.ts +238 -0
- package/src/index.ts +92 -0
- package/src/manifest.ts +59 -0
- package/src/picker.ts +76 -0
package/README.md
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# create-kumiko-app
|
|
2
|
+
|
|
3
|
+
Scaffold a new [Kumiko](https://kumiko.rocks) app in seconds.
|
|
4
|
+
|
|
5
|
+
```sh
|
|
6
|
+
bun create kumiko-app my-app
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
The interactive picker asks which bundled features you want
|
|
10
|
+
(auth, multi-tenant, files, notifications, billing, …). Hard dependencies
|
|
11
|
+
are resolved automatically — picking `auth-email-password` pulls in
|
|
12
|
+
`user` and `tenant` for you.
|
|
13
|
+
|
|
14
|
+
## Non-interactive
|
|
15
|
+
|
|
16
|
+
```sh
|
|
17
|
+
bun create kumiko-app my-app --yes # take every recommended feature
|
|
18
|
+
bun create kumiko-app --print-manifest # JSON dump of the picker choices
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## What lands on disk
|
|
22
|
+
|
|
23
|
+
`bun create kumiko-app my-app` generates a runnable workspace:
|
|
24
|
+
|
|
25
|
+
- `package.json` — `@cosmicdrift/kumiko-*` deps pinned to the current release
|
|
26
|
+
- `bin/main.ts` — production-bootstrap, calls `runProdApp({ features, … })`
|
|
27
|
+
- `src/run-config.ts` — your picked features as `APP_FEATURES`
|
|
28
|
+
- `tsconfig.json`, `.env.example`, `README.md`
|
|
29
|
+
|
|
30
|
+
First boot:
|
|
31
|
+
|
|
32
|
+
```sh
|
|
33
|
+
cd my-app
|
|
34
|
+
bun install
|
|
35
|
+
cp .env.example .env # edit JWT_SECRET + KUMIKO_SECRETS_MASTER_KEY_V1
|
|
36
|
+
bun run boot
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## How it stays in sync
|
|
40
|
+
|
|
41
|
+
The picker reads a vendored copy of `feature-manifest.json` from the
|
|
42
|
+
framework's `samples/apps/use-all-bundled` workspace. A CI drift-test
|
|
43
|
+
fails if the vendored copy goes stale — run `bun run vendor:manifest`
|
|
44
|
+
inside this package to refresh.
|
package/bin/cli.ts
ADDED