create-projx 1.5.0 → 1.5.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 +106 -37
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -5,19 +5,98 @@
|
|
|
5
5
|
[](https://github.com/ukanhaupa/projx)
|
|
6
6
|
[](https://opensource.org/licenses/MIT)
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
**Go from blank folder to production-ready project in 30 seconds.** Backend-only API, AI/ML app, mobile, full-stack, infra setup — pick what you need and get it wired with auth, database, Docker, CI/CD, hooks, and tests. All optional. All yours.
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
```bash
|
|
11
|
+
npx create-projx my-app
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
No SDK lock-in. No runtime dependency on Projx. Just clean code in your repo that you own forever.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## You've done this a hundred times
|
|
11
19
|
|
|
12
|
-
|
|
20
|
+
Every new project starts with the same week of plumbing:
|
|
13
21
|
|
|
14
|
-
|
|
22
|
+
- Wire up auth (again).
|
|
23
|
+
- Configure the database and migrations (again).
|
|
24
|
+
- Write the Dockerfile and `docker-compose.yml` (again).
|
|
25
|
+
- Set up CI, linting, formatting, pre-commit hooks (again).
|
|
26
|
+
- Build the same login + CRUD scaffolding (again).
|
|
27
|
+
- Realize at 11pm that something's broken and you don't remember why (again).
|
|
28
|
+
|
|
29
|
+
You ship features two weeks late because the first two weeks were boilerplate.
|
|
30
|
+
|
|
31
|
+
## Or your AI does it badly
|
|
32
|
+
|
|
33
|
+
Ask an LLM to "scaffold a full-stack app" and you get 50 files of plausible-looking code that breaks on first run. Wrong import paths. Outdated package versions. Auth that doesn't actually authenticate. You end up debugging machine-generated boilerplate, which is worse than writing it yourself.
|
|
34
|
+
|
|
35
|
+
## What if you just… didn't?
|
|
15
36
|
|
|
16
37
|
```bash
|
|
17
|
-
npx create-projx my-app
|
|
38
|
+
npx create-projx my-app # interactive — pick exactly what you need
|
|
39
|
+
cd my-app
|
|
40
|
+
./setup.sh # installs everything you picked
|
|
18
41
|
```
|
|
19
42
|
|
|
20
|
-
Pick
|
|
43
|
+
Pick any combination of components — they're all optional:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
# AI/ML backend only
|
|
47
|
+
npx create-projx vision-api --components fastapi -y
|
|
48
|
+
|
|
49
|
+
# Node API + React frontend
|
|
50
|
+
npx create-projx saas --components fastify,frontend -y
|
|
51
|
+
|
|
52
|
+
# Mobile app with backend
|
|
53
|
+
npx create-projx field-app --components fastapi,mobile -y
|
|
54
|
+
|
|
55
|
+
# Full-stack with infra and E2E
|
|
56
|
+
npx create-projx prod-app --components fastify,frontend,e2e,infra -y
|
|
57
|
+
|
|
58
|
+
# Just the infra
|
|
59
|
+
npx create-projx platform --components infra -y
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
**30 seconds.** No matter what you pick, you get auth, Docker, CI/CD, hooks, and tests wired up for it.
|
|
63
|
+
|
|
64
|
+
If this saves you even one hour, it's already paid for itself. (It's free.)
|
|
65
|
+
|
|
66
|
+
## Why teams pick Projx and stay
|
|
67
|
+
|
|
68
|
+
- **It actually runs.** Every template is tested in CI before release. No "looks right" surprises.
|
|
69
|
+
- **Auto-entity pattern.** Define a data model, get CRUD routes, validation, OpenAPI docs, and a typed UI for free. Backend, frontend, and mobile all stay in sync.
|
|
70
|
+
- **Updates don't nuke your code.** `projx update` does a 3-tier merge — your custom controllers, pages, and config survive template upgrades. No rewrites.
|
|
71
|
+
- **No lock-in.** Projx generates files and walks away. Delete the `.projx` config and it's just a normal repo.
|
|
72
|
+
- **Adopt incrementally.** Already have a project? `projx init` adds CI, hooks, and Docker without touching your code.
|
|
73
|
+
- **Pick your package manager.** npm, pnpm, yarn, or bun. The choice propagates everywhere — scripts, Docker, CI, docs.
|
|
74
|
+
- **AI-agent friendly.** Ships with [SKILL.md](SKILL.md) so Claude, Cursor, and other agents call Projx instead of hand-writing broken scaffolds.
|
|
75
|
+
|
|
76
|
+
## What you get
|
|
77
|
+
|
|
78
|
+
| Component | Stack | What it gives you |
|
|
79
|
+
| ---------- | --------------------------- | ------------------------------------------------------------ |
|
|
80
|
+
| `fastapi` | Python, SQLAlchemy, Alembic | Auto-entity CRUD, JWT auth, migrations, OpenAPI docs |
|
|
81
|
+
| `fastify` | Node.js, Prisma, TypeBox | Auto-entity CRUD, JWT auth, typed schemas, OpenAPI docs |
|
|
82
|
+
| `frontend` | React 19, TypeScript, Vite | Auto-entity UI from `/_meta`, design tokens, light/dark mode |
|
|
83
|
+
| `mobile` | Flutter, Riverpod, GoRouter | Auto-entity screens, offline-first with Isar, biometric auth |
|
|
84
|
+
| `e2e` | Playwright | Page object model, auth fixtures, accessibility scans |
|
|
85
|
+
| `infra` | Terraform, AWS | EKS, RDS, VPC, ALB, CodePipeline, multi-environment |
|
|
86
|
+
|
|
87
|
+
Plus, in every project: Docker Compose for dev + prod, GitHub Actions CI per component (path-filtered), pre-commit hooks, secret detection, VS Code settings, and 80% test coverage enforced.
|
|
88
|
+
|
|
89
|
+
All optional. Pick any combination.
|
|
90
|
+
|
|
91
|
+
## Built for humans and AI agents
|
|
92
|
+
|
|
93
|
+
Projx is a shared operating system for teams that ship with both:
|
|
94
|
+
|
|
95
|
+
- **Developers** get a readable layout, stable conventions, and safe updates.
|
|
96
|
+
- **AI agents** get a deterministic CLI to call instead of guessing folder structures.
|
|
97
|
+
- **Teams** get consistency across repos, less drift, and fewer surprise refactors.
|
|
98
|
+
|
|
99
|
+
If you're an AI agent reading this, see [SKILL.md](SKILL.md) for trigger conditions, decision rules, and the canonical invocation. Short version:
|
|
21
100
|
|
|
22
101
|
## Quick Start
|
|
23
102
|
|
|
@@ -42,19 +121,6 @@ Projx supports **npm**, **pnpm**, **yarn**, and **bun**. During `create`, you're
|
|
|
42
121
|
|
|
43
122
|
For `init`, the package manager is auto-detected from lockfiles (`pnpm-lock.yaml` → pnpm, `yarn.lock` → yarn, `bun.lockb` → bun). Falls back to a prompt if no lockfile is found.
|
|
44
123
|
|
|
45
|
-
## Components
|
|
46
|
-
|
|
47
|
-
| Component | Stack | What You Get |
|
|
48
|
-
| --------- | ----- | ------------ |
|
|
49
|
-
| `fastapi` | Python, SQLAlchemy, Alembic | Auto-entity CRUD, JWT auth, migrations, OpenAPI docs |
|
|
50
|
-
| `fastify` | Node.js, Prisma, TypeBox | Auto-entity CRUD, JWT auth, typed schemas, OpenAPI docs |
|
|
51
|
-
| `frontend` | React 19, TypeScript, Vite | Auto-entity UI from metadata, design tokens, light/dark mode |
|
|
52
|
-
| `mobile` | Flutter, Riverpod, GoRouter | Auto-entity screens, offline-first with Isar, biometric auth |
|
|
53
|
-
| `e2e` | Playwright | Page object model, auth fixtures, accessibility scans |
|
|
54
|
-
| `infra` | Terraform, AWS | EKS, RDS, VPC, ALB, CodePipeline, multi-environment |
|
|
55
|
-
|
|
56
|
-
All optional. Pick any combination.
|
|
57
|
-
|
|
58
124
|
## Commands
|
|
59
125
|
|
|
60
126
|
### Create a Project
|
|
@@ -207,12 +273,12 @@ When both `fastapi` and `fastify` exist, the entity generates in the **primary b
|
|
|
207
273
|
|
|
208
274
|
Override with `--ai` (fastapi) or `--backend` (fastify).
|
|
209
275
|
|
|
210
|
-
| Component
|
|
211
|
-
|
|
|
212
|
-
| Primary backend (fastapi) | `src/entities/<name>/_model.py` — auto-discovered by registry
|
|
276
|
+
| Component | Generated |
|
|
277
|
+
| ------------------------- | --------------------------------------------------------------------------- |
|
|
278
|
+
| Primary backend (fastapi) | `src/entities/<name>/_model.py` — auto-discovered by registry |
|
|
213
279
|
| Primary backend (fastify) | `src/modules/<name>/schemas.ts` + `index.ts` + Prisma model + app.ts import |
|
|
214
|
-
| `frontend`
|
|
215
|
-
| `mobile`
|
|
280
|
+
| `frontend` | `src/types/<name>.ts` — TypeScript interface + Create/Update variants |
|
|
281
|
+
| `mobile` | `lib/entities/<name>/model.dart` — Dart class with fromJson/toJson/copyWith |
|
|
216
282
|
|
|
217
283
|
No migrations — run `alembic revision --autogenerate` or `prisma migrate dev` (via your package manager) when ready.
|
|
218
284
|
|
|
@@ -232,8 +298,8 @@ The generic `api.ts` client accepts type parameters:
|
|
|
232
298
|
```tsx
|
|
233
299
|
import type { Invoice } from '../types/invoice';
|
|
234
300
|
|
|
235
|
-
const { data } = await api.list<Invoice>('/invoices');
|
|
236
|
-
const item = await api.get<Invoice>('/invoices', id);
|
|
301
|
+
const { data } = await api.list<Invoice>('/invoices'); // data: Invoice[]
|
|
302
|
+
const item = await api.get<Invoice>('/invoices', id); // item: Invoice
|
|
237
303
|
```
|
|
238
304
|
|
|
239
305
|
## Rename Component Directories
|
|
@@ -278,17 +344,6 @@ The core idea: define a data model, get everything else for free.
|
|
|
278
344
|
|
|
279
345
|
**Mobile** — Same metadata endpoint, generates list/detail/form screens. Offline-first with local DB and sync queue.
|
|
280
346
|
|
|
281
|
-
## What's Included
|
|
282
|
-
|
|
283
|
-
- JWT auth with Keycloak (pluggable providers)
|
|
284
|
-
- Docker Compose for dev and prod
|
|
285
|
-
- GitHub Actions CI per component (path-filtered — only runs when that component changes)
|
|
286
|
-
- Pre-commit hooks (format + lint + typecheck)
|
|
287
|
-
- Secret detection in pre-commit
|
|
288
|
-
- VS Code settings + recommended extensions
|
|
289
|
-
- 80% test coverage enforced
|
|
290
|
-
- Auto-entity discovery across all stacks
|
|
291
|
-
|
|
292
347
|
## Development
|
|
293
348
|
|
|
294
349
|
Contributing to Projx itself:
|
|
@@ -315,6 +370,20 @@ Add this to your project's README:
|
|
|
315
370
|
[](https://github.com/ukanhaupa/projx)
|
|
316
371
|
```
|
|
317
372
|
|
|
373
|
+
---
|
|
374
|
+
|
|
375
|
+
## Try it now
|
|
376
|
+
|
|
377
|
+
You're still reading. Stop reading. Run this:
|
|
378
|
+
|
|
379
|
+
```bash
|
|
380
|
+
npx create-projx my-app
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
Pick whatever you need from the menu — backend-only, AI app, mobile, full-stack, just infra. 30 seconds. Free. No signup. If you don't like it, `rm -rf my-app` and we never speak of this again.
|
|
384
|
+
|
|
385
|
+
Star the repo if it saved you time → [github.com/ukanhaupa/projx](https://github.com/ukanhaupa/projx)
|
|
386
|
+
|
|
318
387
|
## License
|
|
319
388
|
|
|
320
389
|
MIT
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-projx",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.2",
|
|
4
4
|
"description": "Scaffold production-grade fullstack projects in seconds. FastAPI, Fastify, React, Flutter, Terraform — with auth, database, CI/CD, E2E tests, and Docker. One command, ready to deploy.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|