@podosoft/podokit 0.1.0 → 0.1.1
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 +84 -0
- package/package.json +13 -3
package/README.md
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# @podosoft/podokit
|
|
2
|
+
|
|
3
|
+
**PodoKit** is an opinionated but extensible starter toolkit and CLI for building full-stack TypeScript applications with **NestJS**, **SvelteKit**, **TailwindCSS**, **shadcn-svelte**, **Docker**, and **k3s**.
|
|
4
|
+
|
|
5
|
+
Stop rewriting the same backend bootstrap, frontend setup, environment config, health checks, Docker Compose, and CI every time you start a project. `podo create` gives you a consistent, production-minded foundation in seconds.
|
|
6
|
+
|
|
7
|
+
## Quick start
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npx @podosoft/podokit create my-app
|
|
11
|
+
cd my-app
|
|
12
|
+
npm install
|
|
13
|
+
cp .env.example .env
|
|
14
|
+
npm run dev
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
- API: http://localhost:3000 (health at `/health`)
|
|
18
|
+
- Web: http://localhost:5173
|
|
19
|
+
|
|
20
|
+
When run in a terminal, `podo create` asks which template and package manager to use. Pass flags (or `--yes`) to skip the prompts.
|
|
21
|
+
|
|
22
|
+
## Usage
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
podo create <name> [options]
|
|
26
|
+
|
|
27
|
+
Options:
|
|
28
|
+
--template <t> Template to scaffold (default: fullstack-nest-svelte)
|
|
29
|
+
- fullstack-nest-svelte : NestJS API + SvelteKit web
|
|
30
|
+
- base : minimal npm workspace
|
|
31
|
+
--dir <path> Target directory (default: ./<name>)
|
|
32
|
+
--pm <name> Package manager: npm | pnpm | yarn (default: npm)
|
|
33
|
+
-y, --yes Skip prompts and accept defaults
|
|
34
|
+
-h, --help Show help
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Examples:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
# Interactive
|
|
41
|
+
npx @podosoft/podokit create my-app
|
|
42
|
+
|
|
43
|
+
# Non-interactive, explicit choices
|
|
44
|
+
npx @podosoft/podokit create my-app --template fullstack-nest-svelte --pm pnpm --yes
|
|
45
|
+
|
|
46
|
+
# Minimal workspace
|
|
47
|
+
npx @podosoft/podokit create my-lib --template base --yes
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## What you get (`fullstack-nest-svelte`)
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
my-app/
|
|
54
|
+
├── apps/
|
|
55
|
+
│ ├── api/ # NestJS: config validation, /health, global
|
|
56
|
+
│ │ └── src/ # ValidationPipe, standard error envelope
|
|
57
|
+
│ └── web/ # SvelteKit: Tailwind v4, shadcn-svelte,
|
|
58
|
+
│ └── src/ # typesafe-i18n, server-side API proxy
|
|
59
|
+
├── infra/
|
|
60
|
+
│ ├── docker/ # docker-compose (PostgreSQL, Redis)
|
|
61
|
+
│ └── k3s/ # namespace, deployments, service, ingress, secret example
|
|
62
|
+
├── .env.example
|
|
63
|
+
├── package.json # npm workspace
|
|
64
|
+
└── README.md
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Highlights of the generated app:
|
|
68
|
+
|
|
69
|
+
- **Backend (NestJS)** — bootstrap with a global `ValidationPipe` and exception filter, typed environment validation, a `/health` endpoint, and a stable `{ success, error: { code, ... } }` response envelope.
|
|
70
|
+
- **Frontend (SvelteKit)** — TailwindCSS v4 (config-less), shadcn-svelte configuration, a typesafe-i18n scaffold, and a **server-side proxy** so the browser never calls the API directly.
|
|
71
|
+
- **Infra** — Docker Compose for local PostgreSQL and Redis, plus example k3s manifests (standard `Ingress`, `secret.example.yaml`).
|
|
72
|
+
|
|
73
|
+
## Status
|
|
74
|
+
|
|
75
|
+
PodoKit is early (`0.x`). The CLI and templates work end-to-end, but APIs and templates may change before `1.0`. Feedback and issues are welcome.
|
|
76
|
+
|
|
77
|
+
## Links
|
|
78
|
+
|
|
79
|
+
- Repository & issues: https://github.com/podosoft-dev/podokit
|
|
80
|
+
- Changelog: https://github.com/podosoft-dev/podokit/blob/main/CHANGELOG.md
|
|
81
|
+
|
|
82
|
+
## License
|
|
83
|
+
|
|
84
|
+
[Apache-2.0](https://github.com/podosoft-dev/podokit/blob/main/LICENSE)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@podosoft/podokit",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "An opinionated but extensible starter toolkit and CLI for full-stack TypeScript apps with NestJS, SvelteKit, TailwindCSS, shadcn-svelte, Docker, and k3s.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -8,11 +8,21 @@
|
|
|
8
8
|
"url": "git+https://github.com/podosoft-dev/podokit.git",
|
|
9
9
|
"directory": "packages/cli"
|
|
10
10
|
},
|
|
11
|
-
"keywords": [
|
|
11
|
+
"keywords": [
|
|
12
|
+
"nestjs",
|
|
13
|
+
"sveltekit",
|
|
14
|
+
"starter",
|
|
15
|
+
"cli",
|
|
16
|
+
"scaffold",
|
|
17
|
+
"tailwindcss",
|
|
18
|
+
"shadcn"
|
|
19
|
+
],
|
|
12
20
|
"bin": {
|
|
13
21
|
"podo": "dist/index.js"
|
|
14
22
|
},
|
|
15
|
-
"files": [
|
|
23
|
+
"files": [
|
|
24
|
+
"dist"
|
|
25
|
+
],
|
|
16
26
|
"engines": {
|
|
17
27
|
"node": ">=20"
|
|
18
28
|
},
|