build: migrate from npm to pnpm with workspace catalogs

- Switch package manager to pnpm 10 via corepack
- Add pnpm-workspace.yaml with 54+ shared dependency catalogs
- Convert all workspace packages to catalog: and workspace:* protocols
- Upgrade Turborepo from 1.x to 2.8.12 (pipeline -> tasks)
- Upgrade apps/openpage-api from Next 15 to Next 16
- Update Docker, CI workflows, and GitHub Actions for pnpm
- Convert patch file to pnpm native format
- Replace deprecated next lint with standalone eslint
- Update all documentation references from npm to pnpm
- Fix stale dependabot config and documentation paths
This commit is contained in:
Lucas Smith
2026-03-01 00:01:57 +11:00
parent 1ff8680c32
commit 960217c78d
54 changed files with 23522 additions and 37744 deletions
+11 -11
View File
@@ -24,8 +24,8 @@ Run these commands to understand where the previous session left off:
```bash
git status # See uncommitted changes
git log --oneline -10 # See recent commits
npm run typecheck -w @documenso/remix # Check for type errors
npm run lint:fix # Check for linting issues
pnpm run typecheck -w @documenso/remix # Check for type errors
pnpm run lint:fix # Check for linting issues
```
Review the code that's already been written to understand:
@@ -67,9 +67,9 @@ Review the code that's already been written to understand:
Work continuously through these steps:
1. **Implement** - Write the code for the current task
2. **Typecheck** - Run `npm run typecheck -w @documenso/remix` to verify types
3. **Lint** - Run `npm run lint:fix` to fix linting issues
4. **Test** - If non-trivial, run E2E tests: `npm run test:dev -w @documenso/app-tests`
2. **Typecheck** - Run `pnpm run typecheck -w @documenso/remix` to verify types
3. **Lint** - Run `pnpm run lint:fix` to fix linting issues
4. **Test** - If non-trivial, run E2E tests: `pnpm run test:dev -w @documenso/app-tests`
5. **Fix** - If tests fail, fix and re-run
6. **Repeat** - Move to next task
@@ -93,18 +93,18 @@ Work continuously through these steps:
```bash
# Type checking
npm run typecheck -w @documenso/remix
pnpm run typecheck -w @documenso/remix
# Linting
npm run lint:fix
pnpm run lint:fix
# E2E Tests (only for non-trivial work)
npm run test:dev -w @documenso/app-tests # Run E2E tests in dev mode
npm run test-ui:dev -w @documenso/app-tests # Run E2E tests with UI
npm run test:e2e # Run full E2E test suite
pnpm run test:dev -w @documenso/app-tests # Run E2E tests in dev mode
pnpm run test-ui:dev -w @documenso/app-tests # Run E2E tests with UI
pnpm run test:e2e # Run full E2E test suite
# Development
npm run dev # Start dev server
pnpm run dev # Start dev server
```
## Begin
+4 -3
View File
@@ -14,6 +14,7 @@ You are creating a new justification file in the `.agents/justifications/` direc
## Usage
The script will automatically:
- Generate a unique three-word ID (e.g., `swift-emerald-river`)
- Create frontmatter with current date and formatted title
- Save the file as `{id}-{slug}.md` in `.agents/justifications/`
@@ -25,7 +26,7 @@ The script will automatically:
If you have the content ready, run:
```bash
npx tsx scripts/create-justification.ts "$ARGUMENTS" "Your justification content here"
pnpm exec tsx scripts/create-justification.ts "$ARGUMENTS" "Your justification content here"
```
### Option 2: Multi-line Content (Heredoc)
@@ -33,7 +34,7 @@ npx tsx scripts/create-justification.ts "$ARGUMENTS" "Your justification content
For multi-line content, use heredoc:
```bash
npx tsx scripts/create-justification.ts "$ARGUMENTS" << HEREDOC
pnpm exec tsx scripts/create-justification.ts "$ARGUMENTS" << HEREDOC
Your multi-line
justification content
goes here
@@ -45,7 +46,7 @@ HEREDOC
You can also pipe content:
```bash
echo "Your content" | npx tsx scripts/create-justification.ts "$ARGUMENTS"
echo "Your content" | pnpm exec tsx scripts/create-justification.ts "$ARGUMENTS"
```
## File Format
+3 -3
View File
@@ -26,7 +26,7 @@ The script will automatically:
If you have the content ready, run:
```bash
npx tsx scripts/create-plan.ts "$ARGUMENTS" "Your plan content here"
pnpm exec tsx scripts/create-plan.ts "$ARGUMENTS" "Your plan content here"
```
### Option 2: Multi-line Content (Heredoc)
@@ -34,7 +34,7 @@ npx tsx scripts/create-plan.ts "$ARGUMENTS" "Your plan content here"
For multi-line content, use heredoc:
```bash
npx tsx scripts/create-plan.ts "$ARGUMENTS" << HEREDOC
pnpm exec tsx scripts/create-plan.ts "$ARGUMENTS" << HEREDOC
Your multi-line
plan content
goes here
@@ -46,7 +46,7 @@ HEREDOC
You can also pipe content:
```bash
echo "Your content" | npx tsx scripts/create-plan.ts "$ARGUMENTS"
echo "Your content" | pnpm exec tsx scripts/create-plan.ts "$ARGUMENTS"
```
## File Format
+4 -3
View File
@@ -14,6 +14,7 @@ You are creating a new scratch file in the `.agents/scratches/` directory.
## Usage
The script will automatically:
- Generate a unique three-word ID (e.g., `calm-teal-cloud`)
- Create frontmatter with current date and formatted title
- Save the file as `{id}-{slug}.md` in `.agents/scratches/`
@@ -25,7 +26,7 @@ The script will automatically:
If you have the content ready, run:
```bash
npx tsx scripts/create-scratch.ts "$ARGUMENTS" "Your scratch content here"
pnpm exec tsx scripts/create-scratch.ts "$ARGUMENTS" "Your scratch content here"
```
### Option 2: Multi-line Content (Heredoc)
@@ -33,7 +34,7 @@ npx tsx scripts/create-scratch.ts "$ARGUMENTS" "Your scratch content here"
For multi-line content, use heredoc:
```bash
npx tsx scripts/create-scratch.ts "$ARGUMENTS" << HEREDOC
pnpm exec tsx scripts/create-scratch.ts "$ARGUMENTS" << HEREDOC
Your multi-line
scratch content
goes here
@@ -45,7 +46,7 @@ HEREDOC
You can also pipe content:
```bash
echo "Your content" | npx tsx scripts/create-scratch.ts "$ARGUMENTS"
echo "Your content" | pnpm exec tsx scripts/create-scratch.ts "$ARGUMENTS"
```
## File Format
+3 -3
View File
@@ -17,8 +17,8 @@ You are creating proper MDX documentation for a module or feature in Documenso u
Create documentation in the appropriate location:
- **Developer docs**: `apps/documentation/pages/developers/`
- **User docs**: `apps/documentation/pages/users/`
- **Developer docs**: `apps/docs/`
- **User docs**: `apps/docs/`
### File Format
@@ -66,7 +66,7 @@ Brief description of what this module/feature does and when to use it.
If there are specific packages or imports needed:
```bash
npm install @documenso/package-name
pnpm install @documenso/package-name
```
## Quick Start
+9 -9
View File
@@ -55,9 +55,9 @@ You are implementing a specification from the `.agents/plans/` directory. Work a
Work continuously through these steps:
1. **Implement** - Write the code for the current task
2. **Typecheck** - Run `npm run typecheck -w @documenso/remix` to verify types
3. **Lint** - Run `npm run lint:fix` to fix linting issues
4. **Test** - If non-trivial, run E2E tests: `npm run test:dev -w @documenso/app-tests`
2. **Typecheck** - Run `pnpm run typecheck -w @documenso/remix` to verify types
3. **Lint** - Run `pnpm run lint:fix` to fix linting issues
4. **Test** - If non-trivial, run E2E tests: `pnpm run test:dev -w @documenso/app-tests`
5. **Fix** - If tests fail, fix and re-run
6. **Repeat** - Move to next task
@@ -81,18 +81,18 @@ Work continuously through these steps:
```bash
# Type checking
npm run typecheck -w @documenso/remix
pnpm run typecheck -w @documenso/remix
# Linting
npm run lint:fix
pnpm run lint:fix
# E2E Tests (only for non-trivial work)
npm run test:dev -w @documenso/app-tests # Run E2E tests in dev mode
npm run test-ui:dev -w @documenso/app-tests # Run E2E tests with UI
npm run test:e2e # Run full E2E test suite
pnpm run test:dev -w @documenso/app-tests # Run E2E tests in dev mode
pnpm run test-ui:dev -w @documenso/app-tests # Run E2E tests with UI
pnpm run test:e2e # Run full E2E test suite
# Development
npm run dev # Start dev server
pnpm run dev # Start dev server
```
## Begin
@@ -21,13 +21,13 @@ I help you create new justification files in the `.agents/justifications/` direc
Run the script with a slug and content:
```bash
npx tsx scripts/create-justification.ts "decision-name" "Justification content here"
pnpm exec tsx scripts/create-justification.ts "decision-name" "Justification content here"
```
Or use heredoc for multi-line content:
```bash
npx tsx scripts/create-justification.ts "decision-name" << HEREDOC
pnpm exec tsx scripts/create-justification.ts "decision-name" << HEREDOC
Multi-line
justification content
goes here
+2 -2
View File
@@ -21,13 +21,13 @@ I help you create new plan files in the `.agents/plans/` directory. Each plan fi
Run the script with a slug and content:
```bash
npx tsx scripts/create-plan.ts "feature-name" "Plan content here"
pnpm exec tsx scripts/create-plan.ts "feature-name" "Plan content here"
```
Or use heredoc for multi-line content:
```bash
npx tsx scripts/create-plan.ts "feature-name" << HEREDOC
pnpm exec tsx scripts/create-plan.ts "feature-name" << HEREDOC
Multi-line
plan content
goes here
+2 -2
View File
@@ -21,13 +21,13 @@ I help you create new scratch files in the `.agents/scratches/` directory. Each
Run the script with a slug and content:
```bash
npx tsx scripts/create-scratch.ts "note-name" "Scratch content here"
pnpm exec tsx scripts/create-scratch.ts "note-name" "Scratch content here"
```
Or use heredoc for multi-line content:
```bash
npx tsx scripts/create-scratch.ts "note-name" << HEREDOC
pnpm exec tsx scripts/create-scratch.ts "note-name" << HEREDOC
Multi-line
scratch content
goes here