agentleFS
celestiaorgcelestiaorg/celestia-node/CLAUDE.md

celestia-node

CLAUDE.md1k starsChanged 2 years agoApache-2.0View on GitHub

Celestia-node implements Celestia's data availability nodes. Node wiring uses go.uber.org/fx: nodebuilder/*/module.go provides dependencies and nodebuilder/module.go composes them per node type. Imports are enforced by goimports-reviser with three groups: Any changes to *.proto files require running make pb-gen and committing the generated *.pb.go files. Changes to nodebuilder/**/config.go struct fields or .proto files are potentially breaking. You can run make detect-breaking locally to check.

Trending

More talk lately.about the whole repository

Dec 2025: 0 mentionsJan 2026: 0 mentionsFeb 2026: 0 mentionsMar 2026: 0 mentionsApr 2026: 0 mentionsMay 2026: 0 mentionsJun 2026: 0 mentionsJul 2026: 0 mentionsAug 2026: 0 mentionsSep 2026: 0 mentionsOct 2026: 2 mentionsNov 2026: 0 mentions
Dec 2025Jun 2026Nov 2026
Mentions a month of the celestiaorg/celestia-node repository that our weekly crawl found. There is no adoption data for this file yet.

Who's talking about celestiaorg/celestia-node

The biggest 5 of 39 mentions linking to the repository that our crawl found. Each line is their own headline.

See all 39

Talked about on GitHub (39 times).

On GitHub · 39

34 more on GitHub

The file

We split this CLAUDE.md into the rules it gives an agent

2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Don't repeat the tag in the PR description.

    line 58
  2. Very specific:

    Commit messages: conventional commits (e.g., feat(service/header): Title)

    line 59

≈ “Common” is an estimate: at least 1 in 5 of the 26,980 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
CLAUDE.md

CLAUDE.md

Celestia-node implements Celestia's data availability nodes. Node wiring uses go.uber.org/fx: nodebuilder/*/module.go provides dependencies and nodebuilder/module.go composes them per node type.

Common Commands

Build & Install

make build              # Build celestia binary to build/
make install            # Install celestia binary
make cel-shed           # Build cel-shed utility
make cel-key            # Build cel-key utility

Testing

make test-unit                           # Run unit tests with coverage
make test-unit-race                      # Run unit tests with race detector
go test ./path/to/package/...            # Run tests for a specific package
go test -run TestName ./path/to/pkg/...  # Run a single test

# Tastora E2E tests (Docker-based)
make test-blob                           # Blob module E2E tests
make test-e2e-sanity                     # E2E sanity suite
make test-tastora                        # All Tastora tests
make test-tastora RUN=TestBlobTestSuite  # A single Tastora suite

Code Quality

make lint               # Run golangci-lint + markdownlint + cfmt
make fmt                # Format code (gofmt, goimports, cfmt, gofumpt, markdownlint)
make sort-imports       # Sort Go imports
make lint-imports       # Lint Go import ordering

Code Generation

make pb-gen             # Regenerate protobuf files (requires protoc)
make openrpc-gen        # Generate OpenRPC spec
go generate ./...       # Regenerate mocks (mockgen)

Testing Infrastructure

  • Tastora (nodebuilder/tests/tastora/): Docker-based E2E tests; a separate Go module run with the integration build tag against a celestia-node image (CELESTIA_NODE_TAG).

Code Conventions

PR & Commit Style

  • PR titles: type(pkg): [level] subject (e.g., fix(service/header): [medium] remove race in core_listener). CI enforces the format.
  • Levels: [high] deep review (DAS/availability verification, shrex/p2p protocol, header verification, fraud proofs, state/tx submission, breaking API/config changes, security); [medium] standard review for limited-impact code changes; [low] docs, tests, or tooling. Pick the higher level when unsure. See CONTRIBUTING.md#pr-naming.
  • Don't repeat the tag in the PR description; the title already carries it.
  • Commit messages: conventional commits (e.g., feat(service/header): Title)

Import Ordering

Imports are enforced by goimports-reviser with three groups:

  1. Standard library
  2. Third-party packages
  3. github.com/celestiaorg packages (company prefix), with github.com/celestiaorg/celestia-node as the project

Proto Changes

Any changes to *.proto files require running make pb-gen and committing the generated *.pb.go files.

Config Changes

Changes to nodebuilder/**/config.go struct fields or .proto files are potentially breaking. You can run make detect-breaking locally to check.

Security PRs

  • For PRs that resolve Hacken bug bounty reports, do not include details about the bug in the PR description. Instead, link to a Linear issue that contains more details on the bug and the link to the Hacken bug bounty report.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.