create-objectstack 6.1.1 → 6.2.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/dist/templates/blank/README.md +27 -0
- package/dist/templates/blank/objectstack.config.ts +19 -0
- package/dist/templates/blank/objectstack.manifest.json +16 -0
- package/dist/templates/blank/package.json +23 -0
- package/dist/templates/blank/src/objects/index.ts +1 -0
- package/dist/templates/blank/src/objects/note.object.ts +28 -0
- package/dist/templates/blank/tsconfig.json +15 -0
- package/package.json +1 -1
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Blank Starter
|
|
2
|
+
|
|
3
|
+
Minimal ObjectStack environment — a clean slate for building.
|
|
4
|
+
|
|
5
|
+
## Getting started
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
pnpm install
|
|
9
|
+
pnpm dev
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
The REST API is served at `http://localhost:3000/api`.
|
|
13
|
+
|
|
14
|
+
## Layout
|
|
15
|
+
|
|
16
|
+
- `objectstack.config.ts` — environment manifest (objects, API, plugins)
|
|
17
|
+
- `src/objects/` — object definitions (one file per object)
|
|
18
|
+
|
|
19
|
+
## Next steps
|
|
20
|
+
|
|
21
|
+
- Add an object: see the `objectstack-data` skill.
|
|
22
|
+
- Add a view or app: see `objectstack-ui`.
|
|
23
|
+
- Add a flow or automation: see `objectstack-automation`.
|
|
24
|
+
- Add an AI agent: see `objectstack-ai`.
|
|
25
|
+
|
|
26
|
+
Skills live in `skills/` in the ObjectStack framework repo and in the in-IDE
|
|
27
|
+
assistant catalog.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { defineStack } from '@objectstack/spec';
|
|
2
|
+
import * as objects from './src/objects/index.js';
|
|
3
|
+
|
|
4
|
+
export default defineStack({
|
|
5
|
+
manifest: {
|
|
6
|
+
id: 'blank',
|
|
7
|
+
version: '0.1.0',
|
|
8
|
+
type: 'app',
|
|
9
|
+
name: 'Blank Starter',
|
|
10
|
+
description: 'Minimal ObjectStack environment — a clean slate for building.',
|
|
11
|
+
},
|
|
12
|
+
objects: Object.values(objects),
|
|
13
|
+
api: {
|
|
14
|
+
rest: {
|
|
15
|
+
enabled: true,
|
|
16
|
+
basePath: '/api',
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://schemas.objectstack.dev/template-manifest.json",
|
|
3
|
+
"name": "blank",
|
|
4
|
+
"specVersion": "^6.0.0",
|
|
5
|
+
"displayName": "Blank Starter",
|
|
6
|
+
"description": "Minimal ObjectStack environment with a single object — a clean slate for building.",
|
|
7
|
+
"category": "starter",
|
|
8
|
+
"isStarter": true,
|
|
9
|
+
"skills": ["objectstack-platform", "objectstack-data"],
|
|
10
|
+
"readmePath": "README.md",
|
|
11
|
+
"scaffold": {
|
|
12
|
+
"variables": {
|
|
13
|
+
"appName": { "type": "string", "prompt": "Application name", "default": "my-app" }
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "objectstack-blank",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"private": true,
|
|
5
|
+
"type": "module",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"dev": "objectstack serve --watch",
|
|
8
|
+
"start": "objectstack serve",
|
|
9
|
+
"build": "objectstack build",
|
|
10
|
+
"validate": "objectstack validate",
|
|
11
|
+
"typecheck": "tsc --noEmit"
|
|
12
|
+
},
|
|
13
|
+
"dependencies": {
|
|
14
|
+
"@objectstack/spec": "^6.0.0",
|
|
15
|
+
"@objectstack/runtime": "^6.0.0",
|
|
16
|
+
"@objectstack/driver-memory": "^6.0.0",
|
|
17
|
+
"@objectstack/plugin-hono-server": "^6.0.0"
|
|
18
|
+
},
|
|
19
|
+
"devDependencies": {
|
|
20
|
+
"@objectstack/cli": "^6.0.0",
|
|
21
|
+
"typescript": "^5.3.0"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Note } from './note.object.js';
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.
|
|
2
|
+
|
|
3
|
+
import { ObjectSchema, Field } from '@objectstack/spec/data';
|
|
4
|
+
|
|
5
|
+
export const Note = ObjectSchema.create({
|
|
6
|
+
name: 'note',
|
|
7
|
+
label: 'Note',
|
|
8
|
+
pluralLabel: 'Notes',
|
|
9
|
+
icon: 'sticky-note',
|
|
10
|
+
description: 'A short note — the starter object for a blank environment.',
|
|
11
|
+
|
|
12
|
+
fields: {
|
|
13
|
+
title: Field.text({
|
|
14
|
+
label: 'Title',
|
|
15
|
+
required: true,
|
|
16
|
+
searchable: true,
|
|
17
|
+
maxLength: 200,
|
|
18
|
+
}),
|
|
19
|
+
body: Field.longText({
|
|
20
|
+
label: 'Body',
|
|
21
|
+
}),
|
|
22
|
+
},
|
|
23
|
+
|
|
24
|
+
enable: {
|
|
25
|
+
apiEnabled: true,
|
|
26
|
+
searchable: true,
|
|
27
|
+
},
|
|
28
|
+
});
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2022",
|
|
4
|
+
"module": "ESNext",
|
|
5
|
+
"moduleResolution": "bundler",
|
|
6
|
+
"strict": true,
|
|
7
|
+
"esModuleInterop": true,
|
|
8
|
+
"skipLibCheck": true,
|
|
9
|
+
"resolveJsonModule": true,
|
|
10
|
+
"allowImportingTsExtensions": false,
|
|
11
|
+
"noEmit": true,
|
|
12
|
+
"isolatedModules": true
|
|
13
|
+
},
|
|
14
|
+
"include": ["objectstack.config.ts", "src/**/*"]
|
|
15
|
+
}
|