f648349e82
* Diatixisify! * First pass at Typedoc generation for TS SDK * Remove overview pages * Fix typos and remove codebase references from docs Fix typos across network and developer docs: Quorum, available, cryptosystem, transaction, proportional, Standalone. Remove TODO placeholder from dVPN protocol page. Strip GitHub source links from network docs to decouple documentation from repo structure. * Expand thin landing pages across network and developer docs - Add intro content to network overview, infrastructure, and reference landing pages - Expand developer index with "where to start" guide - Add usage instructions and explanations to all five TS playground pages - Expand WebSocket client page with setup and message format examples * Restructure Rust SDK developer docs - Delete redundant mixnet example, message-helpers, and message-types subpages - Delete client-pool architecture and example subpages (content folded into landing) - Delete tcpproxy troubleshooting (folded into landing page) - Add deprecation notices to TcpProxy pages, pointing to Stream module - Add stream module docs: landing page, architecture, tutorial, and 4 example pages - Add mixnet and client-pool tutorials - Add SDK tour page - Update navigation and landing pages with docs.rs links * Restructure TS SDK developer docs - Merge overview, installation, and getting started into TS SDK landing page - Fold FAQ content into bundling/troubleshooting section - Delete redundant overview, installation, start, and FAQ pages - Update internal links in browsers.mdx and native.mdx - Update navigation and example page imports * Flatten and expand APIs section - Collapse nested API subpages into single pages with inline Redoc embeds - Rewrite introduction as landing page with decision table - Add endpoint categories, quick curl examples to each API page - Mark Explorer API as deprecated - Move NS API deployment guide to operators/performance-and-testing - Fix dangling /apis/nym-api/mainnet link in network-components - Remove sandbox endpoints from all API pages * Add redirects for moved and deleted pages - Add 25 redirects covering TS SDK, Rust SDK, APIs, and network sections - Fix dangling /developers/typescript/start link in operators changelog * Replace individual example doc pages with GitHub-linked tables, expand tutorials - replace individual example doc pages with GitHub-linked tables - expand mixnet tutorial with persistent identity and split_sender sections - add tcpproxy tutorial - rename "API Reference" to "TypeDoc Reference" in TS SDK sidebar - rename "Misc" to "Extras" in developer sidebar, move VPN CLI up - remove echo server from tools - update message-queue callout to reference actual modules - fix mixnet/examples redirect collision * Add SEO frontmatter, validate encryption standards, clean up URLs - add title/description/schemaType/section/lastUpdated frontmatter to 48 pages across developers, network, and APIs sections - remove network/.archive/ directory (compare against develop instead) - update nymtech.net → nym.com for website/blog links (keep infra URLs) - add native proxy "in progress" callout for Rust/C/Go * API-scraper update (#6598) * read nodes and locations * update python-prebuild.sh * Address PR #6494 review feedback - Use "mode" consistently instead of "role" on nym-nodes page - Replace "staking" with "bonding" for NYM token collateral - Wire up auto-scraped node counts via TimeNow + nodes-count.json - Fix broken licensing images: download CC icons locally, replace inline HTML - Fix 9 stale redirects pointing through deleted /network/architecture path * Fix linkcheck errors - Fix stale cross-links: /network/concepts/ → /network/mixnet-mode/ - Replace README.md references with globals.md in TypeDoc output - Add entryFileName: globals to typedoc.json configs to prevent recurrence * Fix remaining stale /network/architecture links - zk-nym-overview: architecture/nyx#nym-api → /network/infrastructure/nyx#nym-api - setup: network/architecture → /network/overview * Remove accidentally re-included architecture.md file from rebase * Standardize tutorials, document examples, add llms.txt, apply tone fixes - Expand Rust SDK tutorials with step-by-step structure; document all SDK examples across mixnet, client-pool, and tcpproxy pages - Add llms.txt generation script, wire into build and CI workflows - Apply tone/style fixes: deduplicate callouts, vary sentence structure, standardize voice consistency across changed pages * Consolidate redundant network overview docs * Trim dev docs: git-first imports, stream notice, collapse TcpProxy * Update tutorial * Refresh auto-generated API and command outputs * Update network section docs * Update developer and API docs: reusable components, stream protocol, conventions, tutorial fixes * Fix Rust SDK tutorial bugs: setup_env, port conflicts, logging, open_stream race condition * Update stream.mdx * Remove docs.rs link from Stream overview for the moment * add llms.txt and llms-full.txt note to readme --------- Co-authored-by: import this <97586125+serinko@users.noreply.github.com>
109 lines
5.5 KiB
Markdown
109 lines
5.5 KiB
Markdown
# Nym Docs v2
|
|
|
|
This is v2 of the nym docs, condensed from various mdbooks projects that we had previously.
|
|
|
|
These docs are hosted at [nym.com/docs](https://nym.com/docs).
|
|
|
|
## Doc projects
|
|
`docs/pages/` contains several subdirs, each hosting a subsection of the docs:
|
|
* `network` contains key concepts, cryptosystems, architecture.
|
|
* `developers` contains key concepts for developers, required architecture, and Rust/Typescript SDK docs.
|
|
* `operators` contains node setup and maintenance guides.
|
|
|
|
## Local development
|
|
|
|
### Dependencies
|
|
Our `prebuild` script relies on the following:
|
|
- `python`
|
|
- `pip`
|
|
- [`pandas`](https://pandas.pydata.org/)
|
|
- [`tabulate`](https://pypi.org/project/tabulate/)
|
|
- `jq`
|
|
|
|
Otherwise make sure to have `node` and `rust` installed.
|
|
|
|
### Link checking (optional)
|
|
We use [lychee](https://github.com/lycheeverse/lychee) to check for broken links. Install via your package manager or `cargo install lychee`, then run:
|
|
```sh
|
|
lychee documentation/docs/ --config lychee.toml --root-dir documentation/docs/pages/
|
|
```
|
|
|
|
### Serve Local (Hot Reload)
|
|
```sh
|
|
pnpm i
|
|
pnpm run dev
|
|
```
|
|
|
|
Open `http://localhost:3000`.
|
|
|
|
## Build
|
|
```sh
|
|
pnpm run build
|
|
```
|
|
|
|
## Contribution
|
|
* If you wish to add to the documentation please create a PR against this repo, with a `patch` against `develop`.
|
|
|
|
## Scripts
|
|
* `generate:commands`: generates command output files for clients and binaries. This script runs the `autodoc` rust binary, moves the files to their required places, and then if there is an update, commits them to git. We commit the files as our remote deployments pull from a git repo. **Only run this script on branches where you want to push e.g. the build info of a binary to production docs**; it will build the monorepo binaries and use their command output for the produced markdown files.
|
|
* `generate:tables`: generates various information tables containing some repo-wide variables and information about ISPs.
|
|
|
|
### Autodoc
|
|
`autodoc` is a script that generates markdown files containing commands and their output (both command and `--help` output). For the moment the binaries and their commands are manually configured in the script.
|
|
|
|
> **Only run this script on branches where you want to push e.g. the build info of a binary to production docs**; it will build the monorepo binaries and use their command output for the produced markdown files.
|
|
|
|
## CI/CD
|
|
- **Link checking**: Runs on every push to `documentation/docs/` via `.github/workflows/ci-docs-linkcheck.yml`
|
|
|
|
## SEO & Structured Data
|
|
### Frontmatter
|
|
Every `.mdx` page supports frontmatter fields that control meta tags, Open Graph, and JSON-LD schema:
|
|
```yaml
|
|
---
|
|
title: "Page Title for Search Engines"
|
|
description: "Unique meta description for this page."
|
|
schemaType: "TechArticle" # TechArticle (default), HowTo, or FAQPage
|
|
section: "Operators" # Operators, Developers, Network, APIs
|
|
lastUpdated: "2026-02-11" # Feeds dateModified schema
|
|
breadcrumbLabel: "Custom Label" # Optional, overrides URL slug in breadcrumbs
|
|
---
|
|
```
|
|
|
|
### Sitemap
|
|
```bash
|
|
npx next-sitemap
|
|
```
|
|
Outputs `sitemap.xml` and `robots.txt` to `/public`.
|
|
|
|
### Environment Variable
|
|
Set in production:
|
|
```
|
|
NEXT_PUBLIC_SITE_URL=https://nym.com/docs
|
|
```
|
|
|
|
### Schema Types
|
|
| Type | Use When |
|
|
|------|----------|
|
|
| TechArticle | Reference docs, config guides, overviews (default) |
|
|
| HowTo | Step-by-step install/setup guides |
|
|
| FAQPage | Question-answer pages |
|
|
|
|
## LLM-readability
|
|
Two files are generated in the deployment workflow: `llms.txt` and `llms-full.txt`. These files follow [Cloudflare's approach](https://developers.cloudflare.com/style-guide/how-we-docs/ai-consumability/) to generation and use.
|
|
|
|
When running locally can you find these at `http://localhost:3000/docs/llms.txt` and `http://localhost:3000/docs/llms-full.txt`.
|
|
|
|
When deployed to production, these can be found at [https://nym.com/docs/llms.txt](https://nym.com/docs/llms.txt) and [https://nym.com/docs/llms-full.txt](https://nym.com/docs/llms-full.txt).
|
|
|
|
## Licensing and copyright information
|
|
This is a monorepo and components that make up Nym as a system are licensed individually, so for accurate information, please check individual files.
|
|
|
|
As a general approach, licensing is as follows this pattern:
|
|
|
|
* <p xmlns:cc="http://creativecommons.org/ns#" xmlns:dct="http://purl.org/dc/terms/"><a property="dct:title" rel="cc:attributionURL" href="https://nym.com/docs">Nym Documentation</a> by <a rel="cc:attributionURL dct:creator" property="cc:attributionName" href="https://nym.com">Nym Technologies</a> is licensed under <a href="http://creativecommons.org/licenses/by-nc-sa/4.0/?ref=chooser-v1" target="_blank" rel="license noopener noreferrer" style="display:inline-block;">CC BY-NC-SA 4.0<img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;" src="https://mirrors.creativecommons.org/presskit/icons/cc.svg?ref=chooser-v1"><img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;" src="https://mirrors.creativecommons.org/presskit/icons/by.svg?ref=chooser-v1"><img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;" src="https://mirrors.creativecommons.org/presskit/icons/nc.svg?ref=chooser-v1"><img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;" src="https://mirrors.creativecommons.org/presskit/icons/sa.svg?ref=chooser-v1"></a></p>
|
|
|
|
* Nym applications and binaries are [GPL-3.0-only](https://www.gnu.org/licenses/)
|
|
|
|
* Used libraries and different components are [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0.html) or [MIT](https://mit-license.org/)
|