Skip to content

Restructure documentation for plugin-first information architecture#1502

Open
lorisleiva wants to merge 1 commit intomainfrom
03-27-restructure_documentation_for_plugin-first_information_architecture
Open

Restructure documentation for plugin-first information architecture#1502
lorisleiva wants to merge 1 commit intomainfrom
03-27-restructure_documentation_for_plugin-first_information_architecture

Conversation

@lorisleiva
Copy link
Copy Markdown
Member

@lorisleiva lorisleiva commented Mar 27, 2026

Problem

The current solanakit.com documentation teaches Kit from the low-level primitives up: manually creating RPC connections, hand-building Client types, constructing transaction messages with pipe(), etc. Now that Kit Plugins and ready-made clients exist (@solana/kit-client-rpc, @solana/kit-client-litesvm), the documentation should lead with the simpler plugin-based approach and position the lower-level Kit APIs as advanced content.

Summary of Changes

This PR restructures the documentation's information architecture without deleting any existing content. Every new page is a stub with a detailed "Planned Content" callout describing what will be written. Every existing page that will be updated or removed has a banner explaining the plan. The site builds and is fully navigable for review.

Documentation
├── Installation                          📝
├── Getting started                       🆕
├── Upgrade Guide                         📝
├── ❌ Compatible Clients                 🗑️
├── Guides
│   ├── Overview                          🆕
│   ├── Setting up signers                🆕
│   ├── Sending transactions              🆕
│   ├── Sending multiple transactions     🆕
│   ├── Fetching accounts                 🆕
│   ├── Using program plugins             🆕
│   └── Testing & local development       🆕
├── Clients & Plugins
│   ├── Overview                          🆕
│   ├── Available clients                 🆕
│   ├── Available plugins                 🆕
│   ├── Creating custom plugins           🆕
│   ├── Generating program plugins        🆕
│   └── Creating custom clients           🆕
├── Advanced Guides (renamed from Core Concepts)
│   ├── Overview                          📝
│   ├── Kit without a client              🆕
│   ├── Key pairs
│   ├── Signers                           📝
│   ├── Transactions                      📝
│   ├── Codecs
│   ├── RPC requests                      📝
│   ├── RPC subscriptions                 📝
│   ├── Errors                            📝
│   ├── Offchain messages
│   └── Instruction plans                 📝
└── Getting Started (Old)
    ├── ❌ Generate a signer              🗑️
    ├── ❌ Create instructions            🗑️
    ├── ❌ Build a transaction            🗑️
    ├── ❌ Send a transaction             🗑️
    └── ❌ Fetch an account               🗑️

Recipes (new top-level section)
├── Overview                              🆕
├── Transferring SOL                      🆕
├── Creating a token                      🆕
└── Airdropping tokens                    🆕

🆕 = new stub page
📝 = existing page with planned updates
🗑️ = existing page scheduled for removal
(no emoji) = unchanged

@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Mar 27, 2026

⚠️ No Changeset found

Latest commit: 782fcfd

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

Copy link
Copy Markdown
Member Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@bundlemon
Copy link
Copy Markdown

bundlemon bot commented Mar 27, 2026

BundleMon

Unchanged files (142)
Status Path Size Limits
@solana/kit production bundle
kit/dist/index.production.min.js
45.83KB -
errors/dist/index.node.mjs
19.18KB -
errors/dist/index.browser.mjs
19.16KB -
errors/dist/index.native.mjs
19.16KB -
rpc-graphql/dist/index.browser.mjs
18.82KB -
rpc-graphql/dist/index.native.mjs
18.81KB -
rpc-graphql/dist/index.node.mjs
18.81KB -
wallet-account-signer/dist/index.node.mjs
16.26KB -
wallet-account-signer/dist/index.native.mjs
16.24KB -
wallet-account-signer/dist/index.browser.mjs
16.24KB -
transaction-messages/dist/index.browser.mjs
11.08KB -
transaction-messages/dist/index.native.mjs
11.08KB -
transaction-messages/dist/index.node.mjs
11.08KB -
instruction-plans/dist/index.browser.mjs
6.47KB -
instruction-plans/dist/index.native.mjs
6.47KB -
instruction-plans/dist/index.node.mjs
6.46KB -
codecs-data-structures/dist/index.browser.mjs
5.04KB -
codecs-data-structures/dist/index.native.mjs
5.03KB -
codecs-data-structures/dist/index.node.mjs
5.03KB -
offchain-messages/dist/index.browser.mjs
4.89KB -
offchain-messages/dist/index.native.mjs
4.89KB -
offchain-messages/dist/index.node.mjs
4.89KB -
transactions/dist/index.browser.mjs
3.94KB -
transactions/dist/index.native.mjs
3.93KB -
transactions/dist/index.node.mjs
3.93KB -
codecs-core/dist/index.browser.mjs
3.62KB -
codecs-core/dist/index.native.mjs
3.62KB -
codecs-core/dist/index.node.mjs
3.62KB -
webcrypto-ed25519-polyfill/dist/index.node.mj
s
3.61KB -
webcrypto-ed25519-polyfill/dist/index.browser
.mjs
3.59KB -
webcrypto-ed25519-polyfill/dist/index.native.
mjs
3.57KB -
rpc-subscriptions/dist/index.browser.mjs
3.37KB -
rpc-subscriptions/dist/index.node.mjs
3.34KB -
rpc-subscriptions/dist/index.native.mjs
3.31KB -
rpc-transformers/dist/index.browser.mjs
3.16KB -
rpc-transformers/dist/index.native.mjs
3.16KB -
rpc-transformers/dist/index.node.mjs
3.16KB -
signers/dist/index.browser.mjs
3.14KB -
signers/dist/index.native.mjs
3.14KB -
signers/dist/index.node.mjs
3.14KB -
react/dist/index.browser.mjs
3.09KB -
react/dist/index.native.mjs
3.09KB -
react/dist/index.node.mjs
3.09KB -
addresses/dist/index.browser.mjs
2.93KB -
addresses/dist/index.native.mjs
2.92KB -
addresses/dist/index.node.mjs
2.92KB -
kit/dist/index.browser.mjs
2.78KB -
kit/dist/index.native.mjs
2.78KB -
kit/dist/index.node.mjs
2.78KB -
codecs-strings/dist/index.browser.mjs
2.55KB -
codecs-strings/dist/index.node.mjs
2.51KB -
codecs-strings/dist/index.native.mjs
2.47KB -
transaction-confirmation/dist/index.node.mjs
2.41KB -
sysvars/dist/index.browser.mjs
2.37KB -
sysvars/dist/index.native.mjs
2.37KB -
sysvars/dist/index.node.mjs
2.37KB -
transaction-confirmation/dist/index.native.mj
s
2.36KB -
transaction-confirmation/dist/index.browser.m
js
2.35KB -
rpc-subscriptions-spec/dist/index.node.mjs
2.18KB -
rpc-subscriptions-spec/dist/index.native.mjs
2.13KB -
rpc-subscriptions-spec/dist/index.browser.mjs
2.13KB -
keys/dist/index.browser.mjs
2.1KB -
keys/dist/index.native.mjs
2.1KB -
keys/dist/index.node.mjs
2.1KB -
rpc/dist/index.node.mjs
1.95KB -
codecs-numbers/dist/index.browser.mjs
1.95KB -
codecs-numbers/dist/index.native.mjs
1.95KB -
codecs-numbers/dist/index.node.mjs
1.94KB -
rpc-transport-http/dist/index.browser.mjs
1.91KB -
rpc-transport-http/dist/index.native.mjs
1.9KB -
rpc/dist/index.native.mjs
1.81KB -
rpc/dist/index.browser.mjs
1.8KB -
subscribable/dist/index.node.mjs
1.8KB -
subscribable/dist/index.native.mjs
1.75KB -
subscribable/dist/index.browser.mjs
1.74KB -
rpc-transport-http/dist/index.node.mjs
1.72KB -
rpc-types/dist/index.browser.mjs
1.53KB -
rpc-types/dist/index.native.mjs
1.53KB -
rpc-types/dist/index.node.mjs
1.53KB -
rpc-subscriptions-channel-websocket/dist/inde
x.node.mjs
1.33KB -
rpc-subscriptions-channel-websocket/dist/inde
x.native.mjs
1.27KB -
rpc-subscriptions-channel-websocket/dist/inde
x.browser.mjs
1.26KB -
program-client-core/dist/index.browser.mjs
1.21KB -
program-client-core/dist/index.native.mjs
1.21KB -
program-client-core/dist/index.node.mjs
1.21KB -
options/dist/index.browser.mjs
1.18KB -
options/dist/index.native.mjs
1.18KB -
options/dist/index.node.mjs
1.17KB -
accounts/dist/index.browser.mjs
1.17KB -
accounts/dist/index.native.mjs
1.17KB -
accounts/dist/index.node.mjs
1.16KB -
rpc-api/dist/index.browser.mjs
976B -
rpc-api/dist/index.native.mjs
975B -
rpc-api/dist/index.node.mjs
973B -
compat/dist/index.browser.mjs
969B -
compat/dist/index.native.mjs
968B -
compat/dist/index.node.mjs
966B -
rpc-spec-types/dist/index.browser.mjs
962B -
rpc-spec-types/dist/index.native.mjs
961B -
rpc-spec-types/dist/index.node.mjs
959B -
rpc-subscriptions-api/dist/index.native.mjs
870B -
rpc-subscriptions-api/dist/index.node.mjs
869B -
rpc-subscriptions-api/dist/index.browser.mjs
868B -
rpc-spec/dist/index.browser.mjs
852B -
rpc-spec/dist/index.native.mjs
851B -
rpc-spec/dist/index.node.mjs
850B -
promises/dist/index.browser.mjs
799B -
promises/dist/index.native.mjs
798B -
promises/dist/index.node.mjs
797B -
assertions/dist/index.browser.mjs
783B -
instructions/dist/index.browser.mjs
771B -
instructions/dist/index.native.mjs
770B -
instructions/dist/index.node.mjs
768B -
plugin-core/dist/index.browser.mjs
730B -
plugin-core/dist/index.native.mjs
730B -
plugin-core/dist/index.node.mjs
728B -
fast-stable-stringify/dist/index.browser.mjs
726B -
fast-stable-stringify/dist/index.native.mjs
725B -
assertions/dist/index.native.mjs
724B -
fast-stable-stringify/dist/index.node.mjs
724B -
assertions/dist/index.node.mjs
723B -
programs/dist/index.browser.mjs
329B -
programs/dist/index.native.mjs
327B -
programs/dist/index.node.mjs
325B -
event-target-impl/dist/index.node.mjs
230B -
functional/dist/index.browser.mjs
154B -
functional/dist/index.native.mjs
152B -
text-encoding-impl/dist/index.native.mjs
152B -
functional/dist/index.node.mjs
151B -
codecs/dist/index.browser.mjs
137B -
codecs/dist/index.native.mjs
136B -
codecs/dist/index.node.mjs
134B -
event-target-impl/dist/index.browser.mjs
133B -
ws-impl/dist/index.node.mjs
131B -
text-encoding-impl/dist/index.browser.mjs
122B -
text-encoding-impl/dist/index.node.mjs
119B -
ws-impl/dist/index.browser.mjs
113B -
crypto-impl/dist/index.node.mjs
111B -
crypto-impl/dist/index.browser.mjs
109B -
rpc-parsed-types/dist/index.browser.mjs
66B -
rpc-parsed-types/dist/index.native.mjs
65B -
rpc-parsed-types/dist/index.node.mjs
63B -

No change in files bundle size

Final result: ✅

View report in BundleMon website ➡️


Current branch size history | Target branch size history

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 27, 2026

Documentation Preview: https://kit-docs-8hdndtyld-anza-tech.vercel.app

@lorisleiva lorisleiva marked this pull request as ready for review March 27, 2026 10:47
@lorisleiva lorisleiva requested a review from mcintyre94 March 27, 2026 11:07
@lorisleiva lorisleiva force-pushed the 03-27-restructure_documentation_for_plugin-first_information_architecture branch from e080cca to e0a366f Compare March 27, 2026 18:42
#### Problem

The current solanakit.com documentation teaches Kit from the low-level primitives up: manually creating RPC connections, hand-building Client types, constructing transaction messages with `pipe()`, etc. Now that Kit Plugins and ready-made clients exist (`@solana/kit-client-rpc`, `@solana/kit-client-litesvm`), the documentation should lead with the simpler plugin-based approach and position the lower-level Kit APIs as advanced content.

#### Summary of Changes

This PR restructures the documentation's information architecture without deleting any existing content. Every new page is a stub with a detailed "Planned Content" callout describing what will be written. Every existing page that will be updated or removed has a banner explaining the plan. The site builds and is fully navigable for review.

```
Documentation
├── Installation                          📝
├── Upgrade Guide                         📝
├── ❌ Compatible Clients                 🗑️
├── Getting Started
│   ├── Overview                          📝
│   ├── Set up your project               📝
│   ├── Interact with programs            🆕
│   ├── Send a transaction                🆕
│   ├── Fetch an account                  🆕
│   ├── Going to production               🆕
│   ├── Testing with LiteSVM              🆕
│   ├── Customizing the client            🆕
│   ├── ───
│   ├── ❌ Generate a signer              🗑️
│   ├── ❌ Create instructions            🗑️
│   ├── ❌ Build a transaction            🗑️
│   ├── ❌ Send a transaction             🗑️
│   └── ❌ Fetch an account               🗑️
├── Guides
│   ├── Overview                          🆕
│   ├── Setting fee payers                🆕
│   ├── Sending transactions              🆕
│   ├── Sending multiple transactions     🆕
│   ├── Fetching accounts                 🆕
│   ├── Using program plugins             🆕
│   └── Testing & local development       🆕
├── Clients & Plugins
│   ├── Overview                          🆕
│   ├── Available clients                 🆕
│   ├── Available plugins                 🆕
│   ├── Creating custom plugins           🆕
│   ├── Generating program plugins        🆕
│   └── Creating custom clients           🆕
└── Advanced Guides (renamed from Core Concepts)
    ├── Overview                          📝
    ├── Kit without a client              🆕
    ├── Key pairs
    ├── Signers                           📝
    ├── Transactions                      📝
    ├── Codecs
    ├── RPC requests                      📝
    ├── RPC subscriptions                 📝
    ├── Errors                            📝
    ├── Offchain messages
    └── Instruction plans                 📝

Recipes (new top-level section)
├── Overview                              🆕
├── Transferring SOL                      🆕
├── Creating a token                      🆕
└── Airdropping tokens                    🆕

🆕 = new stub page
📝 = existing page with planned updates
🗑️ = existing page scheduled for removal
(no emoji) = unchanged
```
@lorisleiva lorisleiva force-pushed the 03-27-restructure_documentation_for_plugin-first_information_architecture branch from e0a366f to 782fcfd Compare March 28, 2026 10:07
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.

1 participant