原始内容
@parallel-web npm packages
Monorepo for @parallel-web npm packages.
Packages
@parallel-web/ai-sdk-tools- AI SDK tools for Parallel Web@parallel-web/opencode-plugin- Opencode plugin for Parallel Web@parallel-web/pi-extension- pi agent extension for Parallel Web@parallel-web/oauth- Internal, unpublished shared PKCE OAuth helper. Bundled into the opencode plugin and pi extension at build time (noExternal), so it is never installed by consumers and is intentionally markedprivate.
Development
This is a pnpm monorepo. Make sure you have pnpm installed:
npm install -g pnpm
Setup
Install dependencies:
pnpm install
Commands
# Build all packages
pnpm build
# Run tests
pnpm test
# Run tests in CI mode (no watch)
pnpm test:ci
# Lint
pnpm lint
# Fix linting issues
pnpm lint:fix
# Format code
pnpm format
# Check formatting
pnpm format:check
# Type check
pnpm typecheck
# Clean build artifacts
pnpm clean
Workspace Commands
To run a command in a specific package:
pnpm --filter @parallel-web/ai-sdk-tools build
pnpm --filter @parallel-web/ai-sdk-tools test
Adding a New Package
- Create a new directory in
packages/ - Add a
package.jsonwith the package name@parallel-web/package-name - Set up TypeScript config extending from root
- Add build configuration (tsup)
- Implement your package
Publishing
Each package is versioned, tagged, and released independently. Releases are PR-driven:
a local script opens a version-bump PR, and merging it publishes to npm. See
PUBLISHING.md for the full guide.
git checkout main && git pull
# Release candidate (1.2.0 -> 1.3.0-rc.1, or bump an existing rc)
./scripts/release.sh ai-sdk-tools rc
# Promote the current RC to stable (1.3.0-rc.2 -> 1.3.0)
./scripts/release.sh ai-sdk-tools stable
# Explicit version
./scripts/release.sh opencode-plugin 2.0.0
The script bumps the version, opens a release/<package>-vX.Y.Z PR, and on merge the
Release workflow (.github/workflows/release.yml) builds/tests the package, publishes to
npm, and creates the per-package git tag <package>-vX.Y.Z plus a GitHub Release.
- RC support:
x.y.z-rc.Nversions publish under thercnpm dist-tag; stable versions underlatest. Sonpm install @parallel-web/<package>gets the latest stable, and@rcopts into pre-releases. - Per-package tags: tags are namespaced per package and never collide.
- Trusted publishing: uses npm OIDC trusted publishing — no npm token is stored in the repo.
License
MIT