This is a pnpm monorepo for a VitePress-based blog ecosystem. There are no automated tests (no vitest/jest). There are no databases or external services required for local development.
| Service | Command | Default Port |
|---|---|---|
| Blog dev server (blogpress) | pnpm dev |
5173 |
| Theme docs dev server | pnpm dev:theme |
5174 (or next available) |
- Install deps:
pnpm install - Build libraries (required before running dev servers):
pnpm buildlib - Lint:
pnpm lint(pre-existing lint errors exist in the repo; this is expected) - Blog build:
pnpm build - Theme docs build:
pnpm buildTheme
See package.json root scripts and the repo README for the full command list.
build:rssandbuild:pagefindwait forpackages/shared/dist/index.d.ts(not just thedist/directory) so parallelbuildlibtasks do not start before shared type declarations are ready.- pnpm 10+ blocks lifecycle scripts by default. The
pnpm.onlyBuiltDependenciesallowlist inpackage.jsoncontrols which packages may run install scripts. If new native dependencies are added and their postinstall scripts are blocked, they may need to be added to that allowlist. - The
postinstallscript runsnpx simple-git-hooksto set up apre-commithook that runspnpm lint-staged(which applieseslint --fix).
When updating versions or changelogs, compare the current package version with the previous git tag for that package and keep these files in sync as applicable:
- Package changelogs:
packages/*/CHANGELOG.md - Theme public changelog page:
packages/theme/docs/changelog.md - Blog package changelog when
blogpressconsumes a new theme/plugin version:packages/blogpress/CHANGELOG.md - Create-theme changelog and template dependency when the starter template consumes a new theme version:
packages/create-theme/CHANGELOG.mdandpackages/create-theme/public/template/package.json - Package manifests and lockfile for version/dependency bumps: package-level
package.jsonfiles andpnpm-lock.yaml