Skip to content

Commit 5e7dab0

Browse files
committed
feat: Add comprehensive plugin capability and loading schemas
- Introduced `plugin-capability.zod.ts` to define plugin capabilities, including conformance levels, protocol references, and feature specifications. - Created `plugin-loading.zod.ts` to establish a robust plugin loading protocol, covering strategies, preloading, dynamic imports, initialization, dependency resolution, hot reload, caching, sandboxing, and performance monitoring. - Developed `plugin.zod.ts` to outline the plugin context, lifecycle hooks, and shared plugin types for better integration and management of plugins.
1 parent d4fd303 commit 5e7dab0

File tree

12 files changed

+2571
-1
lines changed

12 files changed

+2571
-1
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../skills/objectstack-quickstart
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../skills/objectstack-quickstart

.github/copilot-instructions.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,7 @@ The `skills/` directory contains domain-specific AI skill definitions. When work
225225

226226
| Skill | Path | Use When |
227227
|:---|:---|:---|
228+
| **Quickstart** | `skills/objectstack-quickstart/SKILL.md` | Project creation, defineStack(), drivers, adapters, bootstrap |
228229
| Data Design | `skills/objectstack-data/SKILL.md` | Designing Objects, Fields, Relations |
229230
| API Design | `skills/objectstack-api/SKILL.md` | Designing REST/GraphQL endpoints |
230231
| UI Design | `skills/objectstack-ui/SKILL.md` | Designing Views, Dashboards, Apps |
@@ -239,6 +240,7 @@ When editing files matching these patterns, apply the corresponding architectura
239240

240241
| File Pattern | Role | Key Constraints |
241242
|:---|:---|:---|
243+
| `**/objectstack.config.ts` | **Project Architect** | defineStack(), driver/adapter selection, bootstrap |
242244
| `packages/spec/src/data/**` | **Data Architect** | Zod-first, snake_case names, TSDoc on every property |
243245
| `packages/spec/src/ui/**` | **UI Protocol Designer** | View types, SDUI patterns, navigation structures |
244246
| `packages/spec/src/automation/**` | **Automation Architect** | Flow/Workflow state machines, trigger patterns |
@@ -264,6 +266,7 @@ When editing files matching these patterns, apply the corresponding architectura
264266

265267
| Command | Action |
266268
|:---|:---|
269+
| "Create a project" | Use `npx create-objectstack` or write `objectstack.config.ts` from scratch |
267270
| "Define a field" | Create/modify `packages/spec/src/data/field.zod.ts` |
268271
| "Define an object" | Create/modify `packages/spec/src/data/object.zod.ts` |
269272
| "Define a view" | Create/modify `packages/spec/src/ui/view.zod.ts` |

packages/spec/scripts/build-skill-references.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,11 @@ const SKILL_MAP: Record<string, string[]> = {
8484
'ui/report.zod.ts',
8585
'ui/theme.zod.ts',
8686
],
87+
'objectstack-quickstart': [
88+
'kernel/manifest.zod.ts',
89+
'data/datasource.zod.ts',
90+
'data/dataset.zod.ts',
91+
],
8792
};
8893

8994
// ── Import resolver ──────────────────────────────────────────────────────────
@@ -250,7 +255,7 @@ function main() {
250255
for (const entry of fs.readdirSync(refsDir)) {
251256
const entryPath = path.resolve(refsDir, entry);
252257
const stat = fs.statSync(entryPath);
253-
if (stat.isDirectory() || entry === '_index.md') {
258+
if (stat.isDirectory() || entry === '_index.md' || entry.endsWith('.zod.ts')) {
254259
fs.rmSync(entryPath, { recursive: true });
255260
}
256261
}

0 commit comments

Comments
 (0)