feat: bootstrap pnpm workspace (E00-S01)
CI / Workspace bootstrap checks (pull_request) Successful in 4m41s

pnpm 11.23.0 workspace with a committed frozen lockfile, Node engine
restricted to the 24.x line, TypeScript 6.0.3 pinned exactly, strict base
tsconfig, apps/packages/extensions kept as separate workspaces, root
build/test/typecheck commands, and the FIT-001 architecture test rejecting
core-to-extension imports. Minimal CI runs only the root scripts (S05
stages stay out of scope). Closes #58.
This commit is contained in:
bot-implementer
2026-08-27 23:00:54 +00:00
parent 7c21255582
commit 1d649648da
19 changed files with 1153 additions and 0 deletions
+22
View File
@@ -0,0 +1,22 @@
{
"name": "@personal-blog/example-extension",
"version": "0.0.0",
"private": true,
"type": "module",
"description": "Placeholder extension that exercises the extensions/ workspace group and the FIT-001 dependency boundary. Real extensions (e.g. theme-amber) replace it in later stories.",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
"exports": {
".": {
"types": "./dist/index.d.ts",
"default": "./dist/index.js"
}
},
"files": [
"dist"
],
"scripts": {
"build": "tsc -p tsconfig.json",
"typecheck": "tsc -p tsconfig.json --noEmit"
}
}
+7
View File
@@ -0,0 +1,7 @@
/**
* @personal-blog/example-extension — bootstrap placeholder extension.
*
* FIT-001: core packages (packages/*) must never import a concrete extension
* like this one. Enforced by tests/architecture.test.ts in CI.
*/
export const EXAMPLE_EXTENSION_ID = 'example';
+8
View File
@@ -0,0 +1,8 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"rootDir": "src",
"outDir": "dist"
},
"include": ["src"]
}