You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CLAUDE.md
+42Lines changed: 42 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -50,6 +50,48 @@ Releases are automated via GitHub Actions using npm Trusted Publishing (OIDC). P
50
50
51
51
Manual release: `npm run release` or `npm run release:dry-run`
52
52
53
+
### SDK Feature Deployment Checklist
54
+
55
+
**Follow this exact checklist when adding a new feature to any `block-*` package. Do NOT skip steps. Do NOT spend time verifying the release pipeline — it works automatically.**
56
+
57
+
#### Step 1: Implement the feature in `block-*`
58
+
- Create types in `types/` with proper interfaces
59
+
- Create mapper in `mappers/` with `ResourceMapper<T>`
60
+
- Create service in `services/` with CRUD methods (PUT for updates, never PATCH)
61
+
- Wire into block factory (`*.block.ts`) — add to interface, factory return, and `resourceTypes`
#### Step 2: Update meta-packages (ALL THREE — mandatory)
67
+
Meta-packages bundle block code at build time. Publishing a new block version does NOT deliver fixes to meta-package consumers. You MUST rebuild all three:
68
+
69
+
-**Angular** (`packages/angular/`): Add getter to the relevant service (e.g., `get evaluations() { return this.ensureConfigured().evaluations; }`)
70
+
-**SDK** (`packages/sdk/src/lib/sdk.ts`): Make a real file change (update JSDoc comment) — `--allow-empty` commits do NOT work with nx release
71
+
-**React** (`packages/react/src/lib/index.ts`): Make a real file change (update JSDoc comment)
72
+
-**Build all:**`npm run build`
73
+
74
+
#### Step 3: Update documentation
75
+
- Update `llms.txt` (root) — add new sub-services to the relevant block section
76
+
- Update `packages/sdk/llms.txt` — same additions
77
+
78
+
#### Step 4: Commit with correct scopes
79
+
Commit scope MUST match the nx project name exactly (e.g., `@23blocks/block-rag`, NOT `block-rag`):
git commit -m "feat(@23blocks/angular): add xxx getter to YyyService"
84
+
git commit -m "feat(@23blocks/sdk): rebuild with xxx feature"
85
+
git commit -m "feat(@23blocks/react): rebuild with xxx feature"
86
+
git commit -m "docs: add xxx to sub-service list in llms.txt"
87
+
```
88
+
89
+
#### Step 5: Push and verify (< 2 minutes)
90
+
```bash
91
+
git push origin main
92
+
```
93
+
Then check: `gh run list --workflow=release.yml --limit 1` — confirm status is "completed" + "success". **That's it. Done. Do not dig into logs, do not download tarballs, do not inspect bundles.**
0 commit comments