Skip to content

chore: add CLAUDE.md and coding pattern skills#1258

Open
ytallo wants to merge 1 commit intomainfrom
chore/add-claude-md
Open

chore: add CLAUDE.md and coding pattern skills#1258
ytallo wants to merge 1 commit intomainfrom
chore/add-claude-md

Conversation

@ytallo
Copy link
Contributor

@ytallo ytallo commented Mar 7, 2026

Summary

  • Add CLAUDE.md with project guidance for Claude Code: build/test/lint commands, monorepo architecture, dependency chain, engine ports, release process, and conventions
  • Add .claude/skills/iii-patterns.md with coding patterns extracted from git history analysis (200 commits)
  • Add 5 instinct files in .claude/instincts/ for continuous learning: commit conventions, cross-SDK sync, engine module pattern, install script sync, and Biome formatting

Test plan

  • Verify CLAUDE.md is accurate against current project state
  • Verify skill and instinct files follow correct frontmatter format

Summary by CodeRabbit

  • Documentation
    • Added comprehensive development guidelines and coding standards documentation, including formatting conventions, commit message patterns, SDK synchronization policies, and engine module architecture to support consistent development practices across the project.

Add project guidance for Claude Code with build commands, architecture
overview, and development conventions. Include extracted coding patterns
and instincts from git history analysis.
@vercel
Copy link
Contributor

vercel bot commented Mar 7, 2026

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

Project Deployment Actions Updated (UTC)
iii-docs Ready Ready Preview, Comment Mar 7, 2026 11:35am

Request Review

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 7, 2026

📝 Walkthrough

Walkthrough

This PR introduces comprehensive documentation for the iii monorepo, including coding conventions (Biome formatting, Conventional Commits), architectural patterns (SDK synchronization, engine modules, install scripts), and a project guidance document for Claude Code integration.

Changes

Cohort / File(s) Summary
Formatting & Conventions
.claude/instincts/iii-biome-formatting.md, .claude/instincts/iii-commit-convention.md
Documents coding standards: Biome auto-formatting rules (2-space indent, 120-char line width, single quotes, trailing commas, LF line endings) and Conventional Commits format with scope examples and statistics.
Synchronization Patterns
.claude/instincts/iii-cross-sdk-sync.md, .claude/instincts/iii-install-scripts-sync.md
Establishes coordination requirements: SDKs across Node.js, Python, and Rust must be updated together; install.sh scripts (cli, console, engine) must remain synchronized.
Architecture & Module Patterns
.claude/instincts/iii-engine-module-pattern.md
Outlines engine module structure: features placed in engine/src/modules/, self-contained with registered routes, message types in protocol.rs, composed in main.rs.
Comprehensive Pattern Guide
.claude/skills/iii-patterns.md
Consolidated documentation covering commit conventions, file co-change patterns, architecture patterns (SDK↔Engine protocol, module system, version bumping), testing patterns, and development workflows with evidence from analyzed commits.
Project Guidance
CLAUDE.md
Overview documentation for Claude Code: monorepo structure, build/test commands, dev server ports, release process, Docker usage, CI detection, and development conventions.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Suggested reviewers

  • anthonyiscoding

Poem

🐰 A bundle of guides, fresh and new,
Formatting, patterns, and process too—
The monorepo now has a map,
No more confusion, no more gap!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main changes: adding CLAUDE.md and coding pattern documentation files to support Claude Code integration.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ 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 chore/add-claude-md

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.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.claude/instincts/iii-engine-module-pattern.md:
- Line 19: The documented module list is inaccurate; update the module line to
match engine/src/lib.rs which declares 17 top-level modules and uses snake_case.
Replace the current "Existing modules" entry with the correct snake_case list:
rest_api, queue, cron, stream, pubsub, state, kv_server, http_functions,
observability, shell, bridge_client, redis, registry, telemetry, worker, config,
module, and remove references to non-top-level names like Otel and Exec; ensure
capitalization is snake_case (e.g., rest_api) to match the codebase.

In @.claude/skills/iii-patterns.md:
- Around line 79-81: Update the fenced code block so it includes a language
specifier (use "text") to satisfy the markdown linter; locate the fence
containing the line "chore: bump versions for release -- iii(iii/v0.X.0)" and
change the opening triple backticks to "```text" so the block is treated as
plain text by the linter.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: d83a0e73-2509-4d1f-af15-b89e01bd72a5

📥 Commits

Reviewing files that changed from the base of the PR and between 56abfcd and 27aaf5c.

📒 Files selected for processing (7)
  • .claude/instincts/iii-biome-formatting.md
  • .claude/instincts/iii-commit-convention.md
  • .claude/instincts/iii-cross-sdk-sync.md
  • .claude/instincts/iii-engine-module-pattern.md
  • .claude/instincts/iii-install-scripts-sync.md
  • .claude/skills/iii-patterns.md
  • CLAUDE.md

4. Is composed into the engine in `engine/src/main.rs`

## Evidence
- Existing modules: RestApi, Queue, Cron, Stream, PubSub, State, Otel, KvServer, Exec, HttpFunctions
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: List all top-level modules in the engine

# Find module declarations in lib.rs
rg -A 20 'pub mod modules' engine/src/lib.rs

Repository: iii-hq/iii

Length of output: 473


Correct the module list for accuracy.

The documented module list doesn't accurately reflect the actual codebase structure. Based on engine/src/lib.rs, there are 17 top-level modules, not 10. The listed modules contain critical inaccuracies:

  • "Otel" and "Exec" do not exist as top-level modules; they reference submodules within observability and shell respectively
  • Several top-level modules are missing: bridge_client, config, module, redis, registry, telemetry, worker
  • Naming uses inconsistent capitalization (use snake_case: rest_api not RestApi)

Correct to:

Existing modules: rest_api, queue, cron, stream, pubsub, state, kv_server, http_functions, observability, shell, bridge_client, redis, registry, telemetry, worker, config, module
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.claude/instincts/iii-engine-module-pattern.md at line 19, The documented
module list is inaccurate; update the module line to match engine/src/lib.rs
which declares 17 top-level modules and uses snake_case. Replace the current
"Existing modules" entry with the correct snake_case list: rest_api, queue,
cron, stream, pubsub, state, kv_server, http_functions, observability, shell,
bridge_client, redis, registry, telemetry, worker, config, module, and remove
references to non-top-level names like Otel and Exec; ensure capitalization is
snake_case (e.g., rest_api) to match the codebase.

Comment on lines +79 to +81
```
chore: bump versions for release -- iii(iii/v0.X.0)
```
Copy link
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 language specifier to code fence.

The markdown linter flags this fenced code block as missing a language specifier. Since this appears to be a generic text example (not executable code), consider adding text as the language identifier.

📝 Proposed fix
-```
+```text
 chore: bump versions for release -- iii(iii/v0.X.0)
</details>

<details>
<summary>🧰 Tools</summary>

<details>
<summary>🪛 markdownlint-cli2 (0.21.0)</summary>

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

(MD040, fenced-code-language)

</details>

</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against the current code and only fix it if needed.

In @.claude/skills/iii-patterns.md around lines 79 - 81, Update the fenced code
block so it includes a language specifier (use "text") to satisfy the markdown
linter; locate the fence containing the line "chore: bump versions for release
-- iii(iii/v0.X.0)" and change the opening triple backticks to "```text" so the
block is treated as plain text by the linter.


</details>

<!-- fingerprinting:phantom:triton:puma -->

<!-- This is an auto-generated comment by CodeRabbit -->

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