Skip to content

docs(registry): add registry docs and monorepo doc updates#307

Draft
codebycarson wants to merge 1 commit intomainfrom
pr/registry-docs
Draft

docs(registry): add registry docs and monorepo doc updates#307
codebycarson wants to merge 1 commit intomainfrom
pr/registry-docs

Conversation

@codebycarson
Copy link
Collaborator

This pull request introduces the new @sei-js/registry package and integrates it into the documentation and project configuration. The registry provides typed constants for Sei chain info, tokens, networks, IBC channels, and gas configuration. The documentation is updated with new sections and examples to help developers use the package, and project scripts are enhanced to support parallel testing.

New package integration and documentation updates:

  • Added @sei-js/registry to the package table in README.md and provided a quick start section and documentation links in its own README.md. [1] [2]
  • Introduced two new documentation pages: docs/registry/introduction.mdx (overview and installation) and docs/registry/usage.mdx (detailed usage examples for all exports). [1] [2]
  • Updated docs/docs.json to add a dedicated navigation dropdown for @sei-js/registry, and refactored the pages arrays for clarity and consistency across all packages. [1] [2] [3] [4] [5] [6] [7] [8]

Project configuration improvements:

  • Added test:parallel script to package.json and documented sequential vs. parallel testing commands in the main README.md. [1] [2]
  • Updated biome.json to ignore the packages/create-sei/extensions/** directory for formatting and linting.

@changeset-bot
Copy link

changeset-bot bot commented Mar 9, 2026

⚠️ No Changeset found

Latest commit: 0fe72f8

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@codecov-commenter
Copy link

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 79.69%. Comparing base (184d715) to head (0fe72f8).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #307   +/-   ##
=======================================
  Coverage   79.69%   79.69%           
=======================================
  Files          83       83           
  Lines        1305     1305           
  Branches      158      215   +57     
=======================================
  Hits         1040     1040           
+ Misses        265      259    -6     
- Partials        0        6    +6     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds documentation and project configuration updates to introduce and surface the new @sei-js/registry package across the monorepo and docs site.

Changes:

  • Added new Mintlify docs pages for @sei-js/registry (introduction + usage) and added a dedicated docs navigation dropdown.
  • Updated packages/registry/README.md with badges, a quick start section, and a documentation link.
  • Added a test:parallel root script and documented sequential vs parallel test commands; updated Biome ignores.

Reviewed changes

Copilot reviewed 7 out of 8 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
packages/registry/README.md Refreshes package README with badges/links and quick start example
package.json Adds test:parallel script for running workspace tests concurrently
docs/registry/introduction.mdx New introduction/installation page for the registry package
docs/registry/usage.mdx New usage examples for registry exports
docs/docs.json Adds registry dropdown and reformats page arrays
biome.json Ignores packages/create-sei/extensions/** for Biome
README.md Adds @sei-js/registry to packages list and documents test scripts
.gitignore Removes yarn-error.log ignore entry

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

console.log(mainnet.rpc[0].url);

// Find the SEI token on mainnet
const sei = TOKEN_LIST["pacific-1"].find((t) => t.symbol === "sei");
Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The introduction page’s quick example also searches for t.symbol === "sei", but the registry’s token symbols are uppercase (e.g. SEI). This will likely return undefined. Update the example to use the correct casing or a normalized comparison.

Suggested change
const sei = TOKEN_LIST["pacific-1"].find((t) => t.symbol === "sei");
const sei = TOKEN_LIST["pacific-1"].find((t) => t.symbol === "SEI");

Copilot uses AI. Check for mistakes.
```typescript
import { TOKEN_LIST, NETWORKS, IBC_INFO, GAS_INFO } from '@sei-js/registry'

const uAtom = TOKEN_LIST.find(asset => asset.denom === 'uatom')
Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The usage example treats TOKEN_LIST as an array and accesses a non-existent asset.denom field. In this package, TOKEN_LIST is keyed by network (e.g. TOKEN_LIST['pacific-1']) and tokens have fields like base/display/denom_units, so this snippet won’t type-check or work as written. Update the example to index by network and filter on an existing field (or denom_units).

Suggested change
const uAtom = TOKEN_LIST.find(asset => asset.denom === 'uatom')
const pacificTokens = TOKEN_LIST['pacific-1']
const uAtom = pacificTokens.find(asset =>
asset.denom_units.some(unit => unit.denom === 'uatom'),
)

Copilot uses AI. Check for mistakes.
Comment on lines +13 to +20
| Export | Description |
|---|---|
| `CHAIN_IDS` | Mainnet, testnet, and devnet chain ID strings |
| `CHAIN_INFO` | Core chain metadata (bech32 prefix, slip44, fee token, supported wallets) |
| `NETWORKS` | Network configs with RPC, REST, gRPC, EVM, and WebSocket endpoints |
| `TOKEN_LIST` | Community-maintained token list per network |
| `IBC_INFO` | IBC channel configurations per network |
| `GAS_INFO` | Gas denomination and pricing per network |
Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The markdown table in “Key Exports” uses double leading pipes (||) on each row, which won’t render as a standard Markdown table in most renderers. It should be a normal pipe table (| Export | Description |, etc.).

Copilot uses AI. Check for mistakes.
Comment on lines +107 to +110
const seiToken = TOKEN_LIST["pacific-1"].find((t) => t.symbol === "sei");
console.log(seiToken?.name); // "Sei"
console.log(seiToken?.base); // "usei"
console.log(seiToken?.display); // "sei"
Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This example searches for t.symbol === "sei", but the registry token list uses uppercase symbols (e.g. tests assert asset.symbol === 'SEI'). As written, this will likely return undefined and mislead readers. Update the docs to use the correct symbol casing or demonstrate a case-insensitive match.

Suggested change
const seiToken = TOKEN_LIST["pacific-1"].find((t) => t.symbol === "sei");
console.log(seiToken?.name); // "Sei"
console.log(seiToken?.base); // "usei"
console.log(seiToken?.display); // "sei"
const seiToken = TOKEN_LIST["pacific-1"].find((t) => t.symbol === "SEI");
console.log(seiToken?.name); // "Sei"
console.log(seiToken?.base); // "usei"
console.log(seiToken?.display); // "SEI"

Copilot uses AI. Check for mistakes.
Comment on lines +84 to +89
const evmRpc = NETWORKS["pacific-1"].evm_rpc?.[0]?.url;

const client = createPublicClient({
chain: sei,
transport: http(evmRpc),
});
Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

evmRpc can be undefined (you already note EVM endpoints are optional), but it’s passed directly into http(evmRpc). viem’s http() expects a defined URL string, so this example will throw at runtime when evm_rpc is missing. Add an explicit check / fallback URL before creating the client.

Copilot uses AI. Check for mistakes.
Comment on lines 43 to +52
To build all packages and docs, run `pnpm install` then `pnpm build:all`

### Testing

```bash
# Sequential (all packages via package scripts)
pnpm run test:all

# Parallel (all packages concurrently)
pnpm run test:parallel
Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new Testing section uses pnpm commands, but the Prerequisites section above still instructs yarn install and claims Yarn is the package manager. Since the repo packageManager is pnpm@9.0.0, these instructions are now contradictory. Align the prerequisites/install/build/test commands on a single package manager (or document both explicitly).

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants