Unverified Commit 8c37cae1 authored by Hong Minhee's avatar Hong Minhee
Browse files

Document package addition checklist



Add comprehensive checklist for adding new packages to the monorepo.
This helps ensure all necessary files are updated when introducing
new packages, preventing common oversights.

The checklist is divided into:

- Required updates (always needed)
- Conditional updates (based on package type)
- Optional updates (as needed)

[ci skip]

Co-Authored-By: default avatarClaude <noreply@anthropic.com>
parent 9f55c7ee
Loading
Loading
Loading
Loading
+30 −0
Original line number Diff line number Diff line
@@ -162,6 +162,36 @@ Common Tasks
3. Follow the pattern from existing database adapter packages
4. Implement both KV store and message queue interfaces as needed

### Adding a New Package

When adding a new package to the monorepo, the following files must be updated:

**Required updates:**

 1. *AGENTS.md* and *CONTRIBUTING.md*: Add the package to the repository
    structure list
 2. *README.md*: Add the package to the "Packages" section table
 3. *.github/workflows/build.yaml*: Update the PR comment in the `publish` job
    (around the `thollander/actions-comment-pull-request` action)
 4. Root *deno.json*: Add the package path to the `workspace` array
 5. *pnpm-workspace.yaml*: Add the package path to the `packages` array

**Conditional updates:**

 -  If the package is a web framework integration: Update
    *docs/manual/integration.md*
 -  If the package implements `KvStore`: Update *docs/manual/kv.md*
 -  If the package implements `MessageQueue`: Update *docs/manual/mq.md*
 -  If the package is published to JSR: Add JSR link to the `REFERENCES` data
    in *docs/.vitepress/config.mts* (note: only JSR links are added here,
    not npm links)

**Optional updates:**

 -  If special dependencies are needed: Add to `imports` in root *deno.json*
 -  If using pnpm catalog for dependency management: Add to `catalog` in
    *pnpm-workspace.yaml*


Important Security Considerations
---------------------------------
+30 −0
Original line number Diff line number Diff line
@@ -167,6 +167,36 @@ A patch set should include the following:
Feature pull requests should target the *main* branch for non-breaking changes,
or the *next* branch for breaking changes.

### Adding a new package

When adding a new package to the monorepo, the following files must be updated:

**Required updates:**

 1. *AGENTS.md* and *CONTRIBUTING.md*: Add the package to the repository
    structure list.
 2. *README.md*: Add the package to the "Packages" section table.
 3. *.github/workflows/build.yaml*: Update the PR comment in the `publish` job
    (around the `thollander/actions-comment-pull-request` action).
 4. Root *deno.json*: Add the package path to the `workspace` array.
 5. *pnpm-workspace.yaml*: Add the package path to the `packages` array.

**Conditional updates:**

 -  If the package is a web framework integration: Update
    *docs/manual/integration.md*.
 -  If the package implements `KvStore`: Update *docs/manual/kv.md*.
 -  If the package implements `MessageQueue`: Update *docs/manual/mq.md*.
 -  If the package is published to JSR: Add JSR link to the `REFERENCES` data
    in *docs/.vitepress/config.mts* (note: only JSR links are added here,
    not npm links).

**Optional updates:**

 -  If special dependencies are needed: Add to `imports` in root *deno.json*.
 -  If using pnpm catalog for dependency management: Add to `catalog` in
    *pnpm-workspace.yaml*.

### Pull request builds

Each pull request is automatically built and published to the JSR and npm