Skip to content

chore: claude.md and a skill for writing integration tests#1141

Merged
roberts-pumpurs merged 6 commits into
masterfrom
rob/claude-file
Feb 16, 2026
Merged

chore: claude.md and a skill for writing integration tests#1141
roberts-pumpurs merged 6 commits into
masterfrom
rob/claude-file

Conversation

@roberts-pumpurs

@roberts-pumpurs roberts-pumpurs commented Feb 16, 2026

Copy link
Copy Markdown
Contributor

Describe the changes

  • claude.md file and a skill for writing integration tests

Checklist

  • Tests have been added/updated for the changes.
  • Documentation has been updated for the changes (if applicable).
  • The code follows Rust's style guidelines.

Summary by CodeRabbit

  • Documentation
    • Added a comprehensive integration testing guide covering test harness usage, node lifecycle management, mining and block-production patterns, transaction posting/querying, synchronization helpers, multi-node scenarios (peering, partitions, reorg detection), configuration helpers, common pitfalls, and runnable examples.
    • Expanded developer documentation with build & test commands, pre-PR checks, toolchain and environment notes, architecture and crate-layer overview, consensus and P2P descriptions, and testing conventions.

@coderabbitai

coderabbitai Bot commented Feb 16, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉


📝 Walkthrough

Walkthrough

Two documentation files were added/expanded: a new integration-testing skill guide for Irys at .claude/skills/writing-integration-tests/SKILL.md, and an expanded CLAUDE.md with build/development commands, architecture overview, and testing/git conventions.

Changes

Cohort / File(s) Summary
New Integration Testing Skill Guide
.claude/skills/writing-integration-tests/SKILL.md
Adds a comprehensive guide for writing integration tests for the Irys chain: test harness usage, IrysNodeTest lifecycle, node/peer creation and control (start/stop/restart), mining/block production patterns, wait/sync helpers, posting/querying transactions, multi-node patterns (staking, partitions, gossip/discovery, reorg detection), config helpers, pitfalls, and code examples.
Development & Architecture Guidance
CLAUDE.md
Expands operational documentation with build & development commands (cargo xtask variants, test invocation options), pre-push/PR checks, toolchain/env notes, crate dependency layers, architecture overview (actor/service system, consensus, CL/EL split, storage/packing, P2P), and Git/testing conventions.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~15 minutes

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main changes: adding claude.md and a new skill guide for writing integration tests, which matches the changeset of expanded CLAUDE.md and new SKILL.md file.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Merge Conflict Detection ✅ Passed ✅ No merge conflicts detected when merging into master

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

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch rob/claude-file

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.

@roberts-pumpurs roberts-pumpurs self-assigned this Feb 16, 2026
@roberts-pumpurs roberts-pumpurs marked this pull request as ready for review February 16, 2026 12:34

@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

🤖 Fix all issues with AI agents
In `@CLAUDE.md`:
- Around line 16-20: The fenced code block after the "Run a single test:" line
in CLAUDE.md is missing a blank line; insert a single blank line between the
paragraph "Run a single test:" and the opening triple-backticks (```) so the
code block renders correctly across Markdown parsers, leaving the existing
contents unchanged.
- Around line 46-55: Add a language identifier to the fenced code block under
the "### Crate Dependency Layers" heading so markdown linters and syntax
highlighters treat it as plain text; locate the triple-backtick block that
contains the Foundation/Domain/Services/etc. lines and change the opening fence
from ``` to ```text (or ```plaintext) to explicitly specify the language.

Comment thread CLAUDE.md
Comment on lines +16 to +20
Run a single test:
```sh
cargo nextest run -p irys-actors test_name
cargo test -p irys-actors test_name # alternative without nextest
```

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.

⚠️ Potential issue | 🟡 Minor

Add blank line before fenced code block.

Markdown best practice requires blank lines around fenced code blocks for consistent rendering across different parsers.

📝 Proposed fix
 Run a single test:
+
 ```sh
 cargo nextest run -p irys-actors test_name
 cargo test -p irys-actors test_name  # alternative without nextest
🧰 Tools
🪛 markdownlint-cli2 (0.20.0)

[warning] 17-17: Fenced code blocks should be surrounded by blank lines

(MD031, blanks-around-fences)

🤖 Prompt for AI Agents
In `@CLAUDE.md` around lines 16 - 20, The fenced code block after the "Run a
single test:" line in CLAUDE.md is missing a blank line; insert a single blank
line between the paragraph "Run a single test:" and the opening triple-backticks
(```) so the code block renders correctly across Markdown parsers, leaving the
existing contents unchanged.

Comment thread CLAUDE.md
Comment on lines +46 to +55
### Crate Dependency Layers

```
Foundation: irys-types, irys-config, irys-database
Domain: irys-domain (BlockTree, BlockIndex, StorageModule, SupplyState)
Services: irys-actors (all services), irys-p2p, irys-api-server (actix-web)
Integration: irys-reth + irys-reth-node-bridge (EVM via Reth fork)
Subsystems: irys-packing, irys-packing-worker, irys-storage, irys-vdf
Utilities: irys-utils, irys-testing-utils, irys-cli, xtask
```

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.

⚠️ Potential issue | 🟡 Minor

Specify language for fenced code block.

The dependency diagram code block should specify a language identifier (e.g., text or plaintext) for proper syntax highlighting and markdown linting compliance.

📝 Proposed fix
 ### Crate Dependency Layers
 
-```
+```text
 Foundation:  irys-types, irys-config, irys-database
 Domain:      irys-domain (BlockTree, BlockIndex, StorageModule, SupplyState)
🧰 Tools
🪛 markdownlint-cli2 (0.20.0)

[warning] 48-48: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🤖 Prompt for AI Agents
In `@CLAUDE.md` around lines 46 - 55, Add a language identifier to the fenced code
block under the "### Crate Dependency Layers" heading so markdown linters and
syntax highlighters treat it as plain text; locate the triple-backtick block
that contains the Foundation/Domain/Services/etc. lines and change the opening
fence from ``` to ```text (or ```plaintext) to explicitly specify the language.

Comment thread CLAUDE.md Outdated

@JesseTheRobot JesseTheRobot 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.

One minor change, otherwise LGTM

@roberts-pumpurs roberts-pumpurs merged commit ff2ac75 into master Feb 16, 2026
18 checks passed
@roberts-pumpurs roberts-pumpurs deleted the rob/claude-file branch February 16, 2026 18:08
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