Skip to content
Open
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
65 changes: 65 additions & 0 deletions packages/documentation/astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import starlight from '@astrojs/starlight'
import remarkMath from 'remark-math'
import rehypeMathjax from 'rehype-mathjax'
import starlightLinksValidator from 'starlight-links-validator'
import starlightLlmsTxt from 'starlight-llms-txt'
import starlightFullViewMode from 'starlight-fullview-mode'
import { rehypeHeadingIds } from '@astrojs/markdown-remark'
import rehypeAutolinkHeadings from 'rehype-autolink-headings'
Expand Down Expand Up @@ -378,6 +379,70 @@ export default defineConfig({
}
],
plugins: [
starlightLlmsTxt({
details: `Rafiki documentation is for Account Servicing Entities (ASEs) — regulated institutions such as banks, digital wallet providers, and mobile money operators — who want to run Rafiki to add Interledger and Open Payments functionality to their users' accounts. It is not documentation for an end-user product or a payment app.

Rafiki exposes several separate HTTP services rather than a single API surface: a GraphQL Admin API for managing the backend (peers, assets, wallet addresses, liquidity), a GraphQL Admin API for the auth service, an ILP connector, an auto-peering server, and REST APIs implementing the three parts of the Open Payments protocol. The backend serves the wallet address server and resource server together as a single Open Payments API. The auth service serves the authorization server (GNAP) separately. Questions about configuring or operating a Rafiki instance are answered by the Admin APIs; questions about initiating or receiving payments, or about grant negotiation, are answered by the Open Payments APIs, which are specified independently at openpayments.dev.

Rafiki supports two interchangeable accounting backends: TigerBeetle (the default, purpose-built for financial accounting) and PostgreSQL (an alternative for deployments that prefer a single database). Integration guidance does not change based on which is used.

This site publishes documentation for multiple Rafiki versions. Prefer the current/default version unless the user explicitly asks about an older release — content under a version prefix such as v1-beta describes a prior API surface and may no longer be accurate.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

It's a bit odd that all the text reads descriptively, except here, where there's an instruction. Was that intentional?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This was intentional. While all of the other details were facts about the docs and Rafiki, this was meant to instruct an agent on what to do about encountering multiple versions. I can swap it out with something a bit less direct or rephrase it a bit if needed.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

No, I was just curious. It can stay as-is.


Key terminology notes:

- Rafiki is the reference implementation of the Open Payments protocol; ASEs deploy and operate it themselves, on their own infrastructure
- Wallet addresses are URL-based identifiers for financial accounts — not cryptocurrency wallets
- An Account Servicing Entity (ASE) is the regulated institution that holds and manages accounts on behalf of its users and runs Rafiki
- Peering is the trust relationship two Rafiki instances (run by different ASEs) establish to exchange payments directly — distinct from a payment between two end users
- Grants and GNAP (Grant Negotiation and Authorization Protocol) refer to Open Payments' authorization flow, distinct from OAuth`,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Is there supposed to be an ending back tick (`) in the last item?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The back tick closes the details object that started on line 383

exclude: ['v1-beta/**'],
optionalLinks: [
{
label: 'GitHub repository',
url: 'https://github.com/interledger/rafiki',
description:
'Source code, issues, and contributions for the Rafiki project'
},
{
label: 'Open Payments documentation',
url: 'https://openpayments.dev',
description:
'Specification and SDKs for the Open Payments API that Rafiki implements'
}
],
customSets: [
{
label: 'Overview and concepts',
description:
'Introduction to Rafiki and core concepts such as account servicing entities, multi-tenancy, accounting, clearing and settlement, and Interledger',
paths: ['overview/**']
},
{
label: 'Integration',
description:
'Requirements, services, and deployment guidance for integrating Rafiki, including tenants, assets, peers, wallet addresses, exchange rates, sending fees, and testing locally',
paths: ['integration/**']
},
{
label: 'Administration',
description:
'Using Rafiki Admin to manage asset, peer, and payment liquidity',
paths: ['admin/**']
},
{
label: 'APIs',
description:
'GraphQL Admin API documentation for the backend and auth services — the Open Payments REST API itself is specified separately at openpayments.dev',
paths: ['apis/**']
},
{
label: 'Resources',
description:
'Glossary, architecture, environment variables, webhook event types, and release notes',
paths: ['resources/**']
}
]
}),
starlightVersions({
current: {
label: 'v2-beta'
Expand Down
1 change: 1 addition & 0 deletions packages/documentation/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
"remark-math": "^6.0.0",
"starlight-fullview-mode": "^0.2.6",
"starlight-links-validator": "^0.24.0",
"starlight-llms-txt": "^0.9.0",
"starlight-versions": "^0.9.0"
},
"devDependencies": {
Expand Down
Loading
Loading