Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@ labels: bug
// Minimal code to reproduce
```

**SDK version:**
**Affected package/example:** <!-- SDK, wagmi connector, React example, Wagmi example, Trails Actions example, Node example, etc. -->
**Package/example version or commit:**
**Node version:**
**Package manager:**

Expand Down
2 changes: 2 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ labels: enhancement

<!-- What would you like to see added or changed? -->

**Target surface:** <!-- wallet auth, OIDC, signing, transactions, indexer, wagmi connector, example app, docs, etc. -->

## Alternatives considered

<!-- Other approaches you've thought about. -->
Expand Down
9 changes: 6 additions & 3 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<!-- What does this PR do and why? 1–3 sentences. -->

> PR title must follow Conventional Commits, e.g. `feat(wallet): add session refresh`.
> Use a clear, descriptive PR title. Conventional Commits are welcome but not required unless a maintainer asks for that style.

## Changes

Expand All @@ -12,10 +12,13 @@

<!-- How was this verified? Commands run, manual steps, screenshots. -->

- [ ] `pnpm exec vitest run` passes
- [ ] `pnpm test` passes
- [ ] `pnpm exec tsc --noEmit` passes
- [ ] `pnpm test:types` passes (if public types changed)
- [ ] `pnpm build` succeeds (if touching exports, dist, or example builds)
- [ ] `pnpm --filter @0xsequence/oms-wallet-wagmi-connector test` passes (if connector behavior changed)
- [ ] `pnpm --filter @0xsequence/oms-wallet-wagmi-connector build` passes (if connector types/build changed)
- [ ] Relevant example builds pass: `pnpm build:example`, `pnpm build:trails-actions-example`, `pnpm build:wagmi-example`, `pnpm build:node-example`, or `pnpm build:node-contract-deploy-example`
- [ ] `pnpm build` succeeds (if touching exports, package output, or release behavior)

## Related

Expand Down
16 changes: 13 additions & 3 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,8 +81,10 @@ This repository is a pnpm workspace for the OMS TypeScript SDK. The root package
- `type-tests/`: Compile-time API tests.
- `examples/react/`: Vite React demo that consumes the SDK through the workspace.
- `examples/wagmi/`: Vite React wagmi demo using the OMS Wallet connector and MetaMask connector.
- `examples/trails-actions/`: Vite React demo for Trails swap, Earn deposit, and Earn withdrawal flows.
- `examples/node/`: Interactive Node OTP/signing example.
- `examples/shared/oms-tokens.css`: Shared OMS design tokens (`--oms-*`) imported by each browser example's `styles.css`. See the Example App Styling rules.
- `examples/node-contract-deploy-example/`: Interactive Node ERC-20 deployment example.
- `examples/shared/`: Shared browser-example design tokens, base styles, components, utilities, and Vite aliases.
- `scripts/write-esm-package.cjs`: Writes `dist/esm/package.json` during the root build.

## Commands
Expand All @@ -96,11 +98,15 @@ This repository is a pnpm workspace for the OMS TypeScript SDK. The root package
- `pnpm --filter @0xsequence/oms-wallet-wagmi-connector build`: Build the wagmi connector package.
- `pnpm --filter @0xsequence/oms-wallet-wagmi-connector test`: Run the wagmi connector package tests.
- `pnpm build:example`: Build the React example for Vite/GitHub Pages output after `pnpm build` has produced SDK output.
- `pnpm build:trails-actions-example`: Build the Trails Actions React example.
- `pnpm build:wagmi-example`: Build the wagmi React example.
- `pnpm build:node-example`: Typecheck the Node example.
- `pnpm build:node-contract-deploy-example`: Typecheck the Node contract deploy example.
- `pnpm dev:example`: Start the React demo dev server.
- `pnpm dev:trails-actions-example`: Start the Trails Actions React demo dev server.
- `pnpm dev:wagmi-example`: Start the wagmi React demo dev server.
- `pnpm dev:node-example`: Run the interactive Node OTP example.
- `pnpm dev:node-contract-deploy-example`: Run the interactive Node contract deploy example.
- `pnpm test:watch`: Run Vitest in watch mode during local development.

## Verification Workflow
Expand All @@ -113,7 +119,9 @@ This repository is a pnpm workspace for the OMS TypeScript SDK. The root package
6. Run `pnpm build:node-example` when SDK exports, module resolution, or Node example usage changes.
7. Run `pnpm build` before release/build-output work, package entrypoint changes, or React example builds from a clean tree.
8. Run `pnpm build:example` after `pnpm build` when changing the React example, Vite config, public browser API shape, or Pages deployment assumptions.
9. Run `pnpm build:wagmi-example` after `pnpm build` when changing the wagmi example, connector browser usage, or Pages deployment assumptions.
9. Run `pnpm build:trails-actions-example` after `pnpm build` when changing the Trails Actions example, shared browser example utilities, or Pages deployment assumptions.
10. Run `pnpm build:wagmi-example` after `pnpm build` when changing the wagmi example, connector browser usage, or Pages deployment assumptions.
11. Run `pnpm build:node-contract-deploy-example` when SDK exports, transaction APIs, module resolution, or the Node contract deploy example changes.

## Coding and Architecture Rules

Expand Down Expand Up @@ -155,7 +163,7 @@ execution commands.
## Generated Files and External Artifacts

- `src/generated/waas.gen.ts` is generated by Webrpc and marked `DO NOT EDIT`. Update the generated-client source of truth rather than hand-editing this file as normal source.
- The generated WaaS header references `schema/waas.ridl`; if regenerating the client, document the schema source and command used.
- The generated WaaS header records the upstream schema path and generation command. This repo does not currently include that schema; if regenerating the client, document the schema source and exact command used.
- The wagmi connector's SDK peer dependency is intentionally `workspace:*` in source. Release with pnpm so the published package gets the exact SDK version; do not hand-edit that peer to a literal version.
- `pnpm-lock.yaml` is the dependency lockfile. Update it through pnpm, not by hand.
- `dist/`, `examples/react/dist/`, `examples/wagmi/dist/`, and `*.tsbuildinfo` files are build outputs and should not be edited as source.
Expand All @@ -165,6 +173,8 @@ execution commands.
- Do not commit real secrets. `.env.local` and `.env.*.local` files are ignored for local overrides.
- The React example uses `examples/react/.env.example` for `VITE_OMS_PUBLISHABLE_KEY`; keep local overrides in `examples/react/.env.local`.
- The wagmi React example uses `examples/wagmi/.env.example` for `VITE_OMS_PUBLISHABLE_KEY`; keep local overrides in `examples/wagmi/.env.local`.
- The Trails Actions example uses `examples/trails-actions/.env.example` for `VITE_OMS_PUBLISHABLE_KEY`; keep local overrides in `examples/trails-actions/.env.local`.
- The Node contract deploy example uses `examples/node-contract-deploy-example/.env.example` for `OMS_PUBLISHABLE_KEY`; keep local overrides in `examples/node-contract-deploy-example/.env.local`.
- Treat credential signing, nonce handling, OIDC redirect state cleanup, session persistence, transaction execution/status polling, and access revocation as high-risk paths. Prefer focused regression tests for changes in these areas.
- GitHub Pages reads `OMS_PUBLISHABLE_KEY` for deployed examples. The wagmi example also reads `VITE_TRAILS_API_KEY`. Do not require those secrets for ordinary local unit tests unless the test explicitly needs an external boundary.

Expand Down
Loading