Skip to content

Feat/axone networks#850

Merged
ccamel merged 2 commits into
mainfrom
feat/axone-networks
Jun 17, 2026
Merged

Feat/axone networks#850
ccamel merged 2 commits into
mainfrom
feat/axone-networks

Conversation

@ccamel

@ccamel ccamel commented Jun 17, 2026

Copy link
Copy Markdown
Member

Bring some essential information about the Axone networks.

This is a first (baby) step. Improvements to come.

Summary by CodeRabbit

  • New Features

    • Added a Networks section to the documentation site featuring Axone mainnet (axone-1) and testnet (axone-dendrite-2) networks.
  • Documentation

    • Added network reference pages with chain metadata, genesis validator listings, governance configuration, and explorer links.
    • Updated site navigation and README to include the new Networks section.

@ccamel ccamel self-assigned this Jun 17, 2026
@vercel

vercel Bot commented Jun 17, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview, Comment Jun 17, 2026 11:42am

@coderabbitai

coderabbitai Bot commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

@ccamel, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 17 minutes and 55 seconds. Learn how PR review limits work.

Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file).

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits.

🚦 How do rate limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, the refill rate gradually slows as usage increases. The highest same-day bursts are limited more strictly.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 084406ec-1922-4245-9ba8-eb30a7d039ff

📥 Commits

Reviewing files that changed from the base of the PR and between d37f841 and a761ba7.

📒 Files selected for processing (8)
  • .github/scripts/sync-external-docs.mjs
  • README.md
  • docusaurus.config.js
  • networks/axone-1.md
  • networks/axone-dendrite-2.md
  • networks/index.md
  • src/scss/_networks.scss
  • src/scss/custom.scss
📝 Walkthrough

Walkthrough

Adds a generate_networks sync strategy to the external docs sync script that reads genesis and version data from the axone-protocol/networks repository, renders static Docusaurus markdown pages per network, and wires the result into the site via a new @docusaurus/plugin-content-docs block, nav/footer links, SCSS styling, and lint exclusions.

Changes

Networks Documentation Section

Layer / File(s) Summary
Sync strategy entry point and source config
.github/scripts/sync-external-docs.mjs, .github/sync-external-docs-sources.json
syncSource gains a generate_networks branch that materializes the live repo and calls generateNetworksReference; the JSON config adds the axone-protocol/networks source with axone-1 (mainnet) and axone-dendrite-2 (testnet) network definitions.
Network data reading and genesis extraction
.github/scripts/sync-external-docs.mjs
readNetwork reads genesis.json and version.txt to extract chain ID, genesis time, axoned version, and staking/gov parameters. collectGenesisValidators and visitJson recursively walk genesis JSON to extract validator descriptors from min_self_delegation entries.
Page rendering and template helpers
.github/scripts/sync-external-docs.mjs
renderNetworksIndex and renderNetworkPage assemble index and per-network pages from section helpers (renderNetworkCard, renderNetworkStats, renderNetworkFacts, renderPrimaryLinks, renderToolLinks, renderValidators, etc.). Formatting/escaping helpers (escapeHtml, escapeAttribute, generatedHeader) sanitize output and emit Docusaurus frontmatter.
Docusaurus plugin wiring, nav/footer, and lint exclusions
docusaurus.config.js, .github/workflows/auto-fix-md.yml, .github/workflows/lint.yml, README.md
Registers the networks @docusaurus/plugin-content-docs block with routeBasePath: 'networks/', extends the local search plugin, adds "Networks" to navbar and footer, excludes networks/**/*.md from both markdown lint workflows, and updates the README to list six technical sections.
Generated network markdown pages
networks/index.md, networks/axone-1.md, networks/axone-dendrite-2.md
Initial generated output: index page listing both networks as cards, mainnet page with hero, stats, config snapshot, source links, and validator listing, and equivalent testnet page.
Network reference SCSS stylesheet
src/scss/_networks.scss, src/scss/custom.scss
Adds layout, typography, card/grid, stats, facts, link stack, validator list, and responsive breakpoint rules for the network reference UI, imported via @use "networks" in custom.scss.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

  • axone-protocol/docs#814: Introduced the sync-external-docs.mjs pipeline and .github/sync-external-docs-sources.json configuration that this PR directly extends with the new generate_networks strategy.

Suggested reviewers

  • AnjaMis
  • amimart

Poem

🐇 Hopping through the genesis files,
collecting validators all the while,
I rendered cards with stats and style,
mainnet, testnet — worth the mile!
Six sections now, the docs compile! 🌐

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive The title 'Feat/axone networks' is vague and generic, using the prefix 'Feat/' (likely 'Feature') without clearly describing what feature is being added. Use a more descriptive title that clarifies the main change, such as 'Add Axone networks documentation and sync configuration' or 'Introduce network reference pages and external docs sync'.
✅ Passed checks (3 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/axone-networks

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@bot-anik bot-anik left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Device URL
desktop http://localhost:3000/

Device URL
mobile http://localhost:3000/

Not what you expected? Are your scores flaky? GitHub runners could be the cause.
Try running on Foo instead

@coderabbitai coderabbitai Bot left a comment

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.

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
.github/workflows/lint.yml (1)

1-15: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Declare explicit least-privilege workflow permissions.

This workflow currently relies on default token permissions. On PR/push jobs, that’s broader than needed and increases blast radius.

Proposed hardening
 name: Lint
@@
 on:
   workflow_call:
@@
   pull_request:
     branches: [main]

+permissions:
+  contents: read
+
 concurrency:
   group: lint-${{ github.ref }}
   cancel-in-progress: true
@@
   report-new-dependencies:
     runs-on: ubuntu-22.04
     if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'
+    permissions:
+      contents: read
+      pull-requests: write
     steps:
       - name: Check out repository
         uses: actions/checkout@v6

Also applies to: 29-40, 147-158

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/lint.yml around lines 1 - 15, The Lint workflow is missing
explicit permissions declarations, which causes it to use overly broad default
token permissions that increase security risk. Add a permissions section at the
workflow level (after the on trigger definitions and before the concurrency
section) to explicitly declare the least-privilege permissions needed. For a
lint workflow that only needs to read repository contents, set permissions to
read-only for contents access. Apply the same explicit permissions declarations
to the other workflow files mentioned (also applies to lines 29-40 and 147-158)
to ensure consistent least-privilege security posture across all workflows.

Source: Linters/SAST tools

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/scripts/sync-external-docs.mjs:
- Around line 567-571: The generatedHeader function inserts the title parameter
directly into YAML frontmatter without quoting, which can break parsing if the
title contains special YAML characters like colons or newlines. Quote the title
variable in the template literal where it is being inserted into the frontmatter
(the line that contains title: ${title}), ensuring the title value is properly
escaped and the YAML remains valid.

In `@networks/axone-dendrite-2.md`:
- Line 101: The validator website link for cumulo.pro at line 101 uses the HTTP
protocol instead of HTTPS, which is inconsistent with the rest of the page and
security best practices. Change the href attribute in the anchor tag from
http://cumulo.pro to https://cumulo.pro, then regenerate the axone-dendrite-2.md
page to ensure the update is properly reflected.

---

Outside diff comments:
In @.github/workflows/lint.yml:
- Around line 1-15: The Lint workflow is missing explicit permissions
declarations, which causes it to use overly broad default token permissions that
increase security risk. Add a permissions section at the workflow level (after
the on trigger definitions and before the concurrency section) to explicitly
declare the least-privilege permissions needed. For a lint workflow that only
needs to read repository contents, set permissions to read-only for contents
access. Apply the same explicit permissions declarations to the other workflow
files mentioned (also applies to lines 29-40 and 147-158) to ensure consistent
least-privilege security posture across all workflows.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: df188f38-8fdc-496d-b448-650a77184adc

📥 Commits

Reviewing files that changed from the base of the PR and between 0ae9c81 and d37f841.

📒 Files selected for processing (11)
  • .github/scripts/sync-external-docs.mjs
  • .github/sync-external-docs-sources.json
  • .github/workflows/auto-fix-md.yml
  • .github/workflows/lint.yml
  • README.md
  • docusaurus.config.js
  • networks/axone-1.md
  • networks/axone-dendrite-2.md
  • networks/index.md
  • src/scss/_networks.scss
  • src/scss/custom.scss

Comment thread .github/scripts/sync-external-docs.mjs
Comment thread networks/axone-dendrite-2.md
@ccamel

ccamel commented Jun 17, 2026

Copy link
Copy Markdown
Member Author

@coderabbitai resolve

@coderabbitai

coderabbitai Bot commented Jun 17, 2026

Copy link
Copy Markdown
Contributor
✅ Action performed

Comments resolved. Approval is disabled; enable reviews.request_changes_workflow to allow explicit top-level @coderabbitai resolve or @coderabbitai approve commands.

@ccamel ccamel merged commit 630020f into main Jun 17, 2026
18 checks passed
@ccamel ccamel deleted the feat/axone-networks branch June 17, 2026 11:43
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.

2 participants