Skip to content

Commit b852bbf

Browse files
committed
docs(repo): Expand AGENTS.md with toolchain, changeset, and commit rules
1 parent 4696c51 commit b852bbf

2 files changed

Lines changed: 25 additions & 4 deletions

File tree

.changeset/agents-md-expand.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
---
2+
---

AGENTS.md

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,27 @@
11
# AGENTS.md
22

3-
Clerk's JavaScript SDK and library monorepo.
3+
Clerk JavaScript SDK monorepo.
44

5-
## Guidelines
5+
## Rules
66

7-
- Non-major releases in `packages/clerk-js` and `packages/ui` are pushed out to consuming applications without requiring explicit package updates. Extra care must be put into any changes to these packages.
8-
- The API exposed from the core Clerk class in `packages/clerk-js/src/core/clerk.ts` is a contract that is depended on by internal and external consumers. Changes to this API must be done in a major version to avoid breakage.
7+
- Non-major releases in `packages/clerk-js` and `packages/ui` are pushed out to consuming applications without requiring explicit package updates. This means a new `clerk-js` runtime can load into an app pinned to an older `@clerk/nextjs` (or any other framework SDK) version, so changes must remain backwards-compatible with SDK versions already in the wild, not just the current monorepo state. Removing or renaming anything an older SDK still calls will break production for those users. Extra care must be put into any changes to these packages.
8+
- The API exposed from the core Clerk class in `packages/clerk-js/src/core/clerk.ts` is a contract that is depended on by internal and external consumers (including older SDK versions still loading the latest `clerk-js`). Changes to this API must be done in a major version to avoid breakage.
9+
10+
## Toolchain
11+
12+
- pnpm only (`only-allow pnpm`). Node `>=24.15`, pnpm `>=10.33`.
13+
- `pnpm install` from root.
14+
15+
## Changesets
16+
17+
- Every PR needs one. `pnpm changeset` for package changes, `pnpm changeset:empty` for tooling/repo-only.
18+
- Empty changesets: two `---` delimiters, no body.
19+
20+
## Commits
21+
22+
- Conventional commits, `type(scope):` required (commitlint enforces).
23+
- scope = package name without `@clerk/`, or `repo` / `release` / `e2e`. `clerk-js` uses `js`.
24+
25+
## More
26+
27+
`docs/CONTRIBUTING.md` for dev setup, testing, JSDoc, publishing.

0 commit comments

Comments
 (0)