@exanderal/stackcraft 0.8.0 → 0.8.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.
Files changed (3) hide show
  1. package/README.md +30 -1
  2. package/package.json +1 -1
  3. package/schema.json +6 -1
package/README.md CHANGED
@@ -38,7 +38,8 @@ This writes `stackcraft.config.json` to the current directory:
38
38
  "mobile": "none",
39
39
  "database": "postgres",
40
40
  "packageManager": "pnpm",
41
- "linter": "eslint"
41
+ "linter": "eslint",
42
+ "here": false
42
43
  }
43
44
  ```
44
45
 
@@ -50,6 +51,26 @@ npx @exanderal/stackcraft --config stackcraft.config.json
50
51
 
51
52
  Any field omitted from the config will be prompted interactively. The `$schema` enables autocomplete and validation in VS Code — hover over any field to see valid values.
52
53
 
54
+ ### Scaffold into the current directory
55
+
56
+ By default, stackcraft creates a new subdirectory named after your project. If you already have a repository cloned and want to scaffold directly into it, use `--here`:
57
+
58
+ ```sh
59
+ npx @exanderal/stackcraft --here
60
+ npx @exanderal/stackcraft --config stackcraft.config.json --here
61
+ ```
62
+
63
+ Or set it in the config:
64
+
65
+ ```json
66
+ {
67
+ "name": "my-app",
68
+ "here": true
69
+ }
70
+ ```
71
+
72
+ `name` still sets the monorepo package name — it just no longer doubles as the output folder.
73
+
53
74
  ## What you get
54
75
 
55
76
  ```
@@ -62,6 +83,10 @@ your-project/
62
83
  │ └── types/ # auto-generated types shared across all apps
63
84
  ├── tools/
64
85
  │ └── generators/ # local Nx code generators
86
+ ├── .github/
87
+ │ ├── workflows/
88
+ │ │ └── quality.yml # CI: typecheck, lint, test, security audit, build
89
+ │ └── dependabot.yml # weekly dependency and Actions version updates
65
90
  └── docker-compose.yml # local database
66
91
  ```
67
92
 
@@ -138,6 +163,7 @@ pnpm dev # start all apps in parallel
138
163
  pnpm build # build all apps
139
164
  pnpm test # run all tests
140
165
  pnpm lint # lint all apps
166
+ pnpm typecheck # TypeScript type-check all apps (no emit)
141
167
  pnpm db:start # start the local database
142
168
  pnpm db:stop # stop the local database
143
169
  pnpm db:logs # tail database logs
@@ -262,6 +288,9 @@ const { data, loading } = useGetTrainersQuery()
262
288
  - [x] Prisma ORM (default)
263
289
  - [x] Kysely ORM with repository abstraction (`--full`)
264
290
  - [x] `stackcraft init` + `--config` for non-interactive use
291
+ - [x] `--here` flag to scaffold into the current directory
292
+ - [x] GitHub Actions quality gate pre-configured (typecheck, lint, test, security audit, build)
293
+ - [x] Dependabot pre-configured for weekly dependency and Actions version updates
265
294
  - [ ] `stackcraft add` addon system (auth, Supabase, etc.)
266
295
 
267
296
  ## License
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@exanderal/stackcraft",
3
- "version": "0.8.0",
3
+ "version": "0.8.2",
4
4
  "description": "Opinionated full-stack project scaffolding CLI",
5
5
  "type": "module",
6
6
  "bin": {
package/schema.json CHANGED
@@ -12,7 +12,7 @@
12
12
  },
13
13
  "name": {
14
14
  "type": "string",
15
- "description": "Project name (used as the root directory name)"
15
+ "description": "Project name (used as the monorepo package name)"
16
16
  },
17
17
  "backend": {
18
18
  "type": "string",
@@ -55,6 +55,11 @@
55
55
  "enum": ["eslint", "biome"],
56
56
  "default": "eslint",
57
57
  "description": "Linter and formatter"
58
+ },
59
+ "here": {
60
+ "type": "boolean",
61
+ "default": false,
62
+ "description": "Scaffold into the current directory instead of creating a new subdirectory"
58
63
  }
59
64
  }
60
65
  }