This file covers two things:
- Migration checklist — tracking progress from
docs/(Nextra 2) topackages/docs/(Nextra 3 / App Router), which is the canonical deployed site. - Developer setup — how to run each site locally and how CI/deploy works.
docs/ |
packages/docs/ |
|
|---|---|---|
| Package name | @invoice-liquidity/docs |
@invoice-liquidity/docs-next |
| Framework | Nextra 2, Next.js 14, Pages Router | Nextra 3, Next.js 15, App Router |
| Deployed? | No | Yes — docs.iln.finance |
| CNAME | — | docs.iln.finance |
| Built by CI | docs-deploy.yml triggers build validation |
docs-deploy.yml builds & deploys packages/docs/dist |
| Changelog target | docs/changelog.md (auto-committed by docs-changelog.yml) |
— |
| Content source | docs/*.md |
packages/docs/content/*.mdx |
Track porting each content section from docs/ to packages/docs/content/.
Check a box once the .mdx file exists in packages/docs/content/ and the
page renders correctly on the deployed site.
- Protocol overview (
docs/protocol-overview.md→packages/docs/content/protocol-overview.mdx) - Smart contract architecture (
docs/architecture.md→packages/docs/content/smart-contracts/architecture.mdx) - Invoice lifecycle (
docs/contracts/invoice-contract.md→packages/docs/content/smart-contracts/invoice-lifecycle.mdx) - SDK installation (
docs/sdk-quickstart.md→packages/docs/content/sdk-reference/installation.mdx) - SDK API reference (
docs/sdk-api-reference.md→packages/docs/content/sdk-reference/api-reference.mdx) - Governance (
docs/governance-guide.md→packages/docs/content/governance/index.mdx) - Tutorials — first invoice (
docs/tutorials/first-invoice.md→packages/docs/content/tutorials/first-invoice.mdx) - Tutorials — LP funding (
docs/tutorials/lp-funding.md→packages/docs/content/tutorials/lp-funding.mdx) - Frontend integration guide (
docs/integration-guide.md→packages/docs/content/frontend-guide/integration.mdx) - Horizon API reference (
docs/api-collection.md→packages/docs/content/api-reference/horizon.mdx) - Notifications API (
docs/notifications.md→packages/docs/content/api-reference/notifications.mdx) - Soroban RPC reference (
docs/indexer/api-reference.md→packages/docs/content/api-reference/soroban-rpc.mdx)
- Local development guide (
docs/local-development.md) - CI/CD reference (
docs/ci-cd.md) - Security guide (
docs/security-guide.md) - Threat model (
docs/threat-model.md) - Glossary (
docs/glossary.md) - Changelog page (
docs/changelog.md) - SDK migration guide (
docs/sdk-migration-guide.md) - SDK E2E testing guide (
docs/sdk-e2e.md) - SDK trust model (
docs/sdk-trust-model.md) - SDK next migration notes (
docs/sdk-next-migration.md) - Release process (
docs/release-process.md) - RFC process (
docs/rfc-process.md) - DeFi integrations (
docs/defi-integrations.md) - Protocol economics (
docs/protocol-economics.md) - Stellar primer (
docs/stellar-primer.md) - Multi-token support (
docs/tokens/multi-token-support.md) - Reputation overview (
docs/reputation/overview.md) - Indexer architecture (
docs/indexer/architecture.md) - Indexer configuration (
docs/indexer/configuration.md) - Indexer deployment (
docs/indexer/deployment.md) - Indexer troubleshooting (
docs/indexer/troubleshooting.md) - Contract governance (
docs/contracts/governance-contract.md) - Contract reputation (
docs/contracts/reputation-contract.md) - Mainnet launch checklist (
docs/mainnet-launch-checklist.md) - Troubleshooting guide (
docs/troubleshooting.md) - Analytics (
docs/analytics.md) - Privacy policy (
docs/privacy.md) - Errors reference (
docs/errors.md) - Deployment infrastructure (
docs/deployment/infrastructure.md) - Cross-repo dependencies (
docs/cross-repo-dependencies.md) - Cross-repo sync (
docs/cross-repo-sync.md) - Branch protection policy (
docs/branch-protection.md) - Scripts reference (
docs/scripts.md) - API versioning/migration (
docs/api-versioning-migration.md) - Mutation testing (
docs/mutation-testing.md) - Indexer data model (
docs/indexer-data-model.md)
- Remove
docs/pages/directory (Nextra 2 Pages Router entry) - Remove
docs/components/AlgoliaSearch.tsx(or port topackages/docs) - Remove
docs/theme.config.jsx(Nextra 2 theme) - Remove
docs/next.config.js(Nextra 2 Next.js config) - Remove
docs/tsconfig.json(Nextra 2 TypeScript config) - Remove
docs/package.jsonand@invoice-liquidity/docsfrom workspace - Remove
docs/.env.example(Algolia keys, superseded by packages/docs setup) - Configure Algolia DocSearch for
packages/docs(see setup section below) - Update
docs-deploy.ymlto drop thedocs/**path trigger oncedocs/is content-only - Archive or redirect
docs/algolia-crawler-config.jsontopackages/docs/ - Update this file (remove migration checklist, keep dev guide only)
# From repo root
pnpm --filter @invoice-liquidity/docs-next dev
# Runs at http://localhost:3000
pnpm --filter @invoice-liquidity/docs-next build
# Produces packages/docs/dist/ — same bundle CI deploys# From repo root
pnpm --filter @invoice-liquidity/docs dev
# Runs at http://localhost:3000
pnpm --filter @invoice-liquidity/docs build
# Build-validates the Nextra 2 site locallydocs-deploy.yml runs on every push to main and on every PR that touches
packages/docs/** or docs/**:
| Trigger | build job |
deploy job |
|---|---|---|
push to main |
Runs (packages/docs/) |
Runs — publishes packages/docs/dist to GitHub Pages |
pull_request |
Runs — fails PR if build breaks | Skipped (never publishes from PRs) |
workflow_dispatch |
Runs | Runs — manual publish |
docs-changelog.yml runs on every push to main and on v*.*.* tags. It
calls .local/repo-ops/aggregate-changelogs.js, writes the result to
docs/changelog.md, and auto-commits it. This means docs/changelog.md is
always regenerated in the legacy site; once the changelog page is ported to
packages/docs/content/, this workflow should be updated to target the new
location.
- Apply at docsearch.algolia.com using the
site URL
https://docs.iln.finance. - Once approved, add credentials to
packages/docs/.env.local:NEXT_PUBLIC_ALGOLIA_APP_ID=<your_app_id> NEXT_PUBLIC_ALGOLIA_API_KEY=<your_search_api_key> NEXT_PUBLIC_ALGOLIA_INDEX_NAME=iln-docs - Apply
docs/algolia-crawler-config.jsonin the Algolia Crawler dashboard. The config was audited in July 2026 and updated for the Nextra 3 App Router URL structure — selectors now target<main>(not<article>) and sub-heading records are extracted for granular search results. - Run the Algolia crawler after the first post-migration deploy.
Sitemap gap:
packages/docsusesoutput: 'export'without a sitemap plugin, so nositemap.xmlis generated. The crawler config usesdiscoveryPatternsfor URL discovery instead. Oncenext-sitemapis added topackages/docs, restore thesitemapsentry indocs/algolia-crawler-config.json.Credentials:
docs/algolia-crawler-config.jsoncontains placeholderappId/apiKeyvalues. Replace them with real DocSearch credentials in the Algolia dashboard — do not commit real credentials to the repo.