Hello! Thank you for reading this file, we're eager for contributions.
We use pnpm as our package manager. You need to use it, eg pnpm install instead of npm install.
If you want to format the whole codebase, you can do pnpm -r format at the root.
Other than that, we avoid runtime dependencies unless they're strictly needed. Even then, we prefer vendoring the code.
Keep your changes scoped to the subject of the PR!
It's not a hard requirement, but please consider using an icon from Gitmoji as a prefix to your PR title.
If you want to run only specific tests, you can do pnpm test -- -t "test name".
You can also do pnpm --filter hub test ./src/utils/XetBlob.spec.ts to run a specific test file.
- Add the package name in
pnpm-workspace.yaml - Add a
package.jsoninspired from the other packages (packages/hub/package.json/packages/agents/package.json) inpackages/<package name>/package.json - Run
pnpm installat the root - Edit
packages/doc-internal/package.jsonand add the command in thescriptssection:doc-<package name>(don't forget to edit thestartcommand too)
- Add the
<package-name>-publish.ymlfile in the.github/workflowsfolder, inspired from the other packages - Add the package in the main README.md
- Add a
tsup.config.tsfile in the package folder, inspired from the other packages, or just usetsup src/index.ts --format cjs,esm --clean && tsc --emitDeclarationOnly --declarationas the build command - Copy
.prettierignorefrom another package - Add a
tsconfig.json