1111git clone https://github.com/objectstack-ai/spec.git
1212cd spec
1313
14- # Install dependencies
15- pnpm install
16-
17- # Build core packages
18- pnpm build
14+ # Install dependencies and setup (one-time)
15+ pnpm setup
1916
2017# Run health check
21- ./scripts/dev.sh doctor
18+ pnpm doctor
2219```
2320
2421### Development Workflow
2522
26- #### 1. Using the Development Helper Script
27-
28- The ` scripts/dev.sh ` provides common development tasks:
23+ #### Using the ObjectStack CLI
2924
3025``` bash
31- # Setup development environment (first time)
32- ./scripts/dev.sh setup
33-
34- # Start watch mode for a package
35- ./scripts/dev.sh dev spec # Watch @objectstack/spec
36- ./scripts/dev.sh dev cli # Watch @objectstack/cli
37-
38- # Build packages
39- ./scripts/dev.sh build spec # Build @objectstack/spec
40- ./scripts/dev.sh build # Build all packages
41-
42- # Run tests
43- ./scripts/dev.sh test spec # Test @objectstack/spec
44- ./scripts/dev.sh test # Test all packages
45-
46- # Check environment health
47- ./scripts/dev.sh doctor
48-
49- # Create new project from template
50- ./scripts/dev.sh create plugin # Create plugin (uses CLI)
51- ./scripts/dev.sh create example # Create example (uses CLI)
52-
53- # Clean build artifacts
54- ./scripts/dev.sh clean
55- ```
56-
57- #### 2. Using the ObjectStack CLI
58-
59- ``` bash
60- # Build CLI first
26+ # Build CLI first (if not built)
6127pnpm --filter @objectstack/cli build
6228
6329# Compile configuration to JSON
6430pnpm objectstack compile objectstack.config.ts dist/objectstack.json
6531
66- # Start development mode
32+ # Start development mode (watch mode for packages)
6733pnpm objectstack dev [package-name]
6834
6935# Check environment health
@@ -74,6 +40,24 @@ pnpm objectstack create plugin my-plugin
7440pnpm objectstack create example my-app
7541```
7642
43+ #### Common npm Shortcuts
44+
45+ ``` bash
46+ # One-time setup
47+ pnpm setup # Install dependencies and build core packages
48+
49+ # Development
50+ pnpm dev # Start development mode (default: msw-react-crud example)
51+ pnpm build # Build all packages
52+ pnpm test # Run tests
53+
54+ # Diagnostics
55+ pnpm doctor # Check environment health
56+
57+ # Cleanup
58+ pnpm clean # Clean build artifacts
59+ ```
60+
7761### Package Development
7862
7963#### Working on @objectstack/spec
@@ -94,12 +78,9 @@ pnpm gen:docs
9478#### Creating a New Plugin
9579
9680``` bash
97- # Method 1: Using CLI
81+ # Using CLI
9882pnpm objectstack create plugin my-feature
9983
100- # Method 2: Using dev script
101- ./scripts/dev.sh create plugin
102-
10384# Then develop
10485cd packages/plugins/plugin-my-feature
10586pnpm install
@@ -109,12 +90,9 @@ pnpm dev
10990#### Creating a New Example
11091
11192``` bash
112- # Method 1: Using CLI
93+ # Using CLI
11394pnpm objectstack create example my-app
11495
115- # Method 2: Using dev script
116- ./scripts/dev.sh create example
117-
11896# Then develop
11997cd examples/my-app
12098pnpm install
@@ -246,14 +224,14 @@ pnpm -r --parallel <command>
246224
247225** Dependencies not installed:**
248226``` bash
249- ./scripts/dev.sh doctor
227+ pnpm doctor
250228pnpm install
251229```
252230
253231** Build errors:**
254232``` bash
255233# Clean and rebuild
256- ./scripts/dev.sh clean
234+ pnpm clean
257235pnpm build
258236```
259237
@@ -275,7 +253,7 @@ pnpm dev
275253
276254``` bash
277255# Check environment
278- ./scripts/dev.sh doctor
256+ pnpm doctor
279257
280258# CLI help
281259pnpm objectstack --help
@@ -302,52 +280,21 @@ pnpm install
302280pnpm build
303281
304282# 运行健康检查
305- ./scripts/dev.sh doctor
283+ pnpm doctor
306284```
307285
308286### 开发工作流
309287
310- #### 1. 使用开发辅助脚本
311-
312- ` scripts/dev.sh ` 提供常用开发任务:
313-
314- ``` bash
315- # 首次设置开发环境
316- ./scripts/dev.sh setup
317-
318- # 启动包的监听模式
319- ./scripts/dev.sh dev spec # 监听 @objectstack/spec
320- ./scripts/dev.sh dev cli # 监听 @objectstack/cli
321-
322- # 构建包
323- ./scripts/dev.sh build spec # 构建 @objectstack/spec
324- ./scripts/dev.sh build # 构建所有包
325-
326- # 运行测试
327- ./scripts/dev.sh test spec # 测试 @objectstack/spec
328- ./scripts/dev.sh test # 测试所有包
329-
330- # 检查环境健康
331- ./scripts/dev.sh doctor
332-
333- # 从模板创建新项目
334- ./scripts/dev.sh create plugin # 创建插件(使用CLI)
335- ./scripts/dev.sh create example # 创建示例(使用CLI)
336-
337- # 清理构建产物
338- ./scripts/dev.sh clean
339- ```
340-
341- #### 2. 使用 ObjectStack CLI
288+ #### 使用 ObjectStack CLI
342289
343290``` bash
344- # 首先构建CLI
291+ # 首先构建CLI(如未构建)
345292pnpm --filter @objectstack/cli build
346293
347294# 编译配置为JSON
348295pnpm objectstack compile objectstack.config.ts dist/objectstack.json
349296
350- # 启动开发模式
297+ # 启动开发模式(包的监听模式)
351298pnpm objectstack dev [package-name]
352299
353300# 检查环境健康
@@ -358,6 +305,24 @@ pnpm objectstack create plugin my-plugin
358305pnpm objectstack create example my-app
359306```
360307
308+ #### 常用 npm 快捷命令
309+
310+ ``` bash
311+ # 一次性设置
312+ pnpm setup # 安装依赖并构建核心包
313+
314+ # 开发
315+ pnpm dev # 启动开发模式(默认:msw-react-crud示例)
316+ pnpm build # 构建所有包
317+ pnpm test # 运行测试
318+
319+ # 诊断
320+ pnpm doctor # 检查环境健康
321+
322+ # 清理
323+ pnpm clean # 清理构建产物
324+ ```
325+
361326### 包开发
362327
363328#### 开发 @objectstack/spec
@@ -378,12 +343,9 @@ pnpm gen:docs
378343#### 创建新插件
379344
380345``` bash
381- # 方法1: 使用CLI
346+ # 使用CLI
382347pnpm objectstack create plugin my-feature
383348
384- # 方法2:使用开发脚本
385- ./scripts/dev.sh create plugin
386-
387349# 然后开发
388350cd packages/plugins/plugin-my-feature
389351pnpm install
@@ -393,12 +355,9 @@ pnpm dev
393355#### 创建新示例
394356
395357``` bash
396- # 方法1: 使用CLI
358+ # 使用CLI
397359pnpm objectstack create example my-app
398360
399- # 方法2:使用开发脚本
400- ./scripts/dev.sh create example
401-
402361# 然后开发
403362cd examples/my-app
404363pnpm install
@@ -530,14 +489,14 @@ pnpm -r --parallel <command>
530489
531490** 依赖未安装:**
532491``` bash
533- ./scripts/dev.sh doctor
492+ pnpm doctor
534493pnpm install
535494```
536495
537496** 构建错误:**
538497``` bash
539498# 清理并重建
540- ./scripts/dev.sh clean
499+ pnpm clean
541500pnpm build
542501```
543502
@@ -559,7 +518,7 @@ pnpm dev
559518
560519``` bash
561520# 检查环境
562- ./scripts/dev.sh doctor
521+ pnpm doctor
563522
564523# CLI帮助
565524pnpm objectstack --help
@@ -590,12 +549,9 @@ spec/
590549│ └── ...
591550├── apps/ # Applications
592551│ └── docs/ # Documentation site
593- ├── scripts/ # Development scripts
594- │ └── dev.sh # Main development helper
595- └── .vscode/ # VSCode configurations
596- ├── launch.json # Debug configurations
597- ├── settings.json # Editor settings
598- └── extensions.json # Recommended extensions
552+ └── packages/cli/ # Command-line tools
553+ ├── src/commands/ # CLI commands (dev, doctor, create, compile)
554+ └── bin/ # Executable entry points
599555```
600556
601557### Package Dependencies
@@ -647,7 +603,7 @@ spec/
647603
648604### Pull Requests
649605
650- 1 . Run ` ./scripts/dev.sh doctor` before submitting
606+ 1 . Run ` pnpm doctor` before submitting
6516072 . Ensure all tests pass
6526083 . Update documentation if needed
6536094 . Follow the PR template
0 commit comments