@shaferllc/keel 0.77.0 → 0.78.0
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 +34 -36
- package/docs/ai-manifest.json +1 -1
- package/package.json +1 -6
package/README.md
CHANGED
|
@@ -90,32 +90,32 @@ from a working skeleton.
|
|
|
90
90
|
git clone https://github.com/shaferllc/keel.git
|
|
91
91
|
cd keel
|
|
92
92
|
npm install
|
|
93
|
-
npm
|
|
93
|
+
npm test # 740 tests
|
|
94
|
+
npm run typecheck # src + tests
|
|
94
95
|
npm run build # compile the package to dist/
|
|
96
|
+
npm run verify:release # build from what's committed — what a consumer's install runs
|
|
95
97
|
```
|
|
96
98
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
curl localhost:3000/hello/Tom # route parameter
|
|
101
|
-
```
|
|
99
|
+
This repo is **the framework, and only the framework** — there is no app in it. To
|
|
100
|
+
run one, clone the [starter app](https://github.com/shaferllc/keel-app) and point it
|
|
101
|
+
at your checkout (`"@shaferllc/keel": "file:../keel"`).
|
|
102
102
|
|
|
103
103
|
## The console
|
|
104
104
|
|
|
105
105
|
```bash
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
106
|
+
keel routes # list every registered route
|
|
107
|
+
keel serve --port 8080 # start the server on a chosen port
|
|
108
|
+
keel make:controller Post # -> app/Controllers/PostController.ts
|
|
109
|
+
keel make:provider Billing # -> app/Providers/BillingServiceProvider.ts
|
|
110
|
+
keel make:middleware Auth # -> app/Http/Middleware/authMiddleware.ts
|
|
111
|
+
keel make:page users/[id] # -> resources/pages/users/[id].tsx
|
|
112
|
+
keel make:command greet # -> app/Commands/greet.ts
|
|
113
|
+
keel repl # a shell with the app booted
|
|
114
|
+
keel mcp # start the MCP server (docs + API for AI agents)
|
|
115
115
|
```
|
|
116
116
|
|
|
117
|
-
|
|
118
|
-
|
|
117
|
+
These run in **your app**, from its own `bin/keel.ts` — which is a few lines that
|
|
118
|
+
hand the console your application factory (see the [console guide](./docs/console.md)).
|
|
119
119
|
|
|
120
120
|
## Built for AI ⚓🤖
|
|
121
121
|
|
|
@@ -146,7 +146,7 @@ export changes with `npm run build:ai` (also runs automatically on `npm run buil
|
|
|
146
146
|
## Project layout
|
|
147
147
|
|
|
148
148
|
```
|
|
149
|
-
src/core/ The framework
|
|
149
|
+
src/core/ The framework
|
|
150
150
|
├─ container.ts Service container — bind / singleton / instance / make
|
|
151
151
|
├─ application.ts Kernel: env + config loading + provider lifecycle
|
|
152
152
|
├─ config.ts Dot-notation config repository + env() helper
|
|
@@ -154,26 +154,24 @@ src/core/ The framework (destined to become @keel/core on npm)
|
|
|
154
154
|
├─ http/
|
|
155
155
|
│ ├─ router.ts Route facade (closures or [Controller, method] tuples)
|
|
156
156
|
│ └─ kernel.ts Global middleware + compiles routes onto Hono
|
|
157
|
-
├─ cli/ The
|
|
158
|
-
└─ index.ts Public surface —
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
config/ config/app.ts -> config('app.*')
|
|
172
|
-
routes/web.ts Route definitions
|
|
157
|
+
├─ cli/ The console: commands, generators, the kernel that runs them
|
|
158
|
+
└─ index.ts Public surface — apps import "@shaferllc/keel/core"
|
|
159
|
+
|
|
160
|
+
src/db/ Database adapters (D1, Postgres, libSQL)
|
|
161
|
+
src/api/ CRUD REST resources from a model
|
|
162
|
+
src/openapi/ Generates an OpenAPI spec from the routes
|
|
163
|
+
src/watch/ The debug dashboard
|
|
164
|
+
src/mcp/ The MCP server (docs + API for AI agents)
|
|
165
|
+
src/vite/ The Vite plugin
|
|
166
|
+
|
|
167
|
+
tests/ 740 tests
|
|
168
|
+
docs/ Every guide, plus type-checked examples of each
|
|
169
|
+
scripts/ build-ai (llms.txt, the MCP manifest), verify-release
|
|
173
170
|
```
|
|
174
171
|
|
|
175
|
-
|
|
176
|
-
|
|
172
|
+
**There is no `app/` here.** Your application code — controllers, providers,
|
|
173
|
+
routes, config — lives in *your* repo, not the framework's. The
|
|
174
|
+
[starter app](https://github.com/shaferllc/keel-app) has the layout.
|
|
177
175
|
|
|
178
176
|
## The request lifecycle
|
|
179
177
|
|
package/docs/ai-manifest.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shaferllc/keel",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.78.0",
|
|
4
4
|
"description": "The house framework for Node.js — a service container, providers, routing, JSX views, and a code-generating console.",
|
|
5
5
|
"repo": "https://github.com/shaferllc/keel",
|
|
6
6
|
"generated": "run `npm run build:ai` to regenerate",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shaferllc/keel",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.78.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "The house framework for Node.js — a service container, providers, routing, JSX views, and a code-generating console.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -81,9 +81,6 @@
|
|
|
81
81
|
"access": "public"
|
|
82
82
|
},
|
|
83
83
|
"scripts": {
|
|
84
|
-
"keel": "tsx bin/keel.ts",
|
|
85
|
-
"serve": "tsx bin/keel.ts serve",
|
|
86
|
-
"dev": "tsx watch bin/keel.ts serve",
|
|
87
84
|
"mcp": "tsx bin/keel-mcp.ts",
|
|
88
85
|
"typecheck": "tsc --noEmit && npm run typecheck:tests",
|
|
89
86
|
"typecheck:docs": "npm run build && tsc -p tsconfig.docs.json",
|
|
@@ -93,8 +90,6 @@
|
|
|
93
90
|
"build:watch-ui": "vite build --config src/watch/ui/vite.config.ts",
|
|
94
91
|
"build:watch-copy": "mkdir -p dist/watch/ui && cp -R src/watch/ui/dist dist/watch/ui/dist && cp src/watch/watch.config.stub dist/watch/ && cp src/openapi/openapi.config.stub dist/openapi/ && cp src/api/api.config.stub dist/api/",
|
|
95
92
|
"build": "npm run build:ai && npm run build:watch-ui && rm -rf dist && tsc -p tsconfig.build.json && npm run build:watch-copy",
|
|
96
|
-
"dev:client": "vite",
|
|
97
|
-
"build:client": "vite build",
|
|
98
93
|
"prepare": "npm run build",
|
|
99
94
|
"typecheck:tests": "tsc --noEmit -p tsconfig.tests.json",
|
|
100
95
|
"verify:release": "bash scripts/verify-release.sh",
|