remix-project
CLAUDE.md3.1k starsChanged 22 months agoApache-2.0View on GitHub
Purpose: This document provides context for Claude Code (AI assistant) when working on the Remix Project. Read this at the start of conversations to understand the codebase structure, conventions, and common patterns. Remix Project is a comprehensive smart contract development toolset for Ethereum, including Remix IDE (web and desktop), plugins, and libraries for Solidity development, testing, debugging, and deployment. remix-ai-core (Important for AI features): - Location: libs/remix-ai-core/src/ - Structure: - agents/: Code explanation, security, completion, workspace agents - remix-mcp-server/: MCP…
- Reads credentials
We split this CLAUDE.md into the rules it gives an agent
18 rules. About 0 are common, 9 are distinctive, and 9 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈9
Distinctive · estimate
This author's own choices. Worth a look.
9
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Very specific: line 108
Use @remix-project/<library-name> imports, not relative paths across libraries
- Very specific: line 115
Must add '@disabled': true to test file metadata when using groups
- Very specific: line 142
Always provide id prop, defaultMessage only for dynamic IDs
- Distinctive: line 161
When exploring the codebase:
- Distinctive: line 162
Start with README.md files in relevant directories
- Very specific: line 163
Check package.json for dependencies and scripts
- Distinctive: line 164
Look for TypeScript interfaces/types to understand data structures
- Distinctive: line 165
Read tests to understand expected behavior
- Distinctive: line 169
Follow JavaScript Standard Style
- Very specific: line 171
Run yarn format before committing
- Distinctive: line 172
Avoid over-engineering: keep changes focused and minimal
- Distinctive: line 186
Add tests alongside component
- Distinctive: line 187
Use existing Bootstrap 5 classes
- Very specific: line 191
Use group tags: #group1, #group2, etc.
- Very specific: line 192
Add '@disabled': true to metadata
- Very specific: line 216
Must build with yarn build:e2e after any test file changes
- Very specific: line 220
Hot reload: Use yarn serve:hot for frontend changes, not just yarn serve
- Distinctive: line 272
Format: Keep this document focused on what Claude needs to know, not general development docs.
≈ “Common” is an estimate: at least 1 in 5 of the 25,680 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.
Files
Claude Code Context for Remix Project
Purpose: This document provides context for Claude Code (AI assistant) when working on the Remix Project. Read this at the start of conversations to understand the codebase structure, conventions, and common patterns.
Project Identity
Remix Project is a comprehensive smart contract development toolset for Ethereum, including Remix IDE (web and desktop), plugins, and libraries for Solidity development, testing, debugging, and deployment.
- Repository: https://github.com/remix-project-org/remix-project
- Architecture: Nx monorepo with Yarn workspaces
- Main Branch:
master - Default Project:
remix-ide - Tech Stack: React 18, TypeScript, Nx 15.7.1, Webpack 5, Node 20+
Critical Context
Monorepo Structure
remix-project/
├── apps/ # 16+ deployable applications
│ ├── remix-ide/ # Main web IDE (default project)
│ ├── remixdesktop/ # Electron desktop app
│ ├── remix-ide-e2e/ # Nightwatch E2E tests
│ ├── circuit-compiler/ # Circuit compilation
│ ├── contract-verification/ # Contract verification tools
│ ├── noir-compiler/ # Noir language support
│ ├── solidity-compiler/ # Solidity compiler wrapper
│ └── [others...]
└── libs/ # 19+ shared libraries
├── remix-analyzer/ # Static analysis & security checks
├── remix-debug/ # Transaction debugger
├── remix-solidity/ # Compiler management
├── remix-tests/ # Solidity unit testing
├── remix-ai-core/ # AI features & MCP server ⭐
├── remix-core-plugin/ # Plugin base classes
├── remix-ui/ # React component library (many sub-packages)
├── remixd/ # Local filesystem daemon
└── [others...]Key Libraries to Know
remix-ai-core (Important for AI features):
- Location:
libs/remix-ai-core/src/ - Structure:
agents/: Code explanation, security, completion, workspace agentsremix-mcp-server/: MCP (Model Context Protocol) server implementationhandlers/: Tool handlers (compilation, debugging, deployment, file management)providers/: Resource providers (compilation, project, deployment, tutorials)middleware/: Security, validation
inferencers/: Local (Ollama) and remote AI model integrationprompts/: System prompts and prompt builders
remix-core-plugin:
- Base classes for plugin development
- Plugin architecture based on
@remixproject/engine - Event-driven communication
remix-ui:
- Modular React components in separate packages
- Each concern has its own sub-package (e.g.,
remix-ui/terminal,remix-ui/editor) - Uses Bootstrap 5 and React hooks
remix-ide-e2e:
- Nightwatch-based E2E tests
- Tests organized by feature with groups:
<testname>_group<number>.test.js - Group tags allow parallel execution:
#group1,#group2, etc. - Special requirements:
ballottests need Ganache running locallyremixdtests need remixd daemon runninggisttests need GitHub token in.env
Development Commands
# Initial setup
yarn install
yarn run build:libs # Always build libs first
yarn build # Build entire project
yarn serve # Dev server (http://127.0.0.1:8080)
yarn serve:hot # With hot module reload
# Library-specific
nx build <library-name>
nx test <library-name>
nx lint <library-name>
# E2E testing
yarn build:e2e # Build tests first
yarn test:e2e --test=<testname> --group=group1 # Run specific group
yarn test:e2e --test=<testname> # Run all groups
yarn run select_test # Interactive selector
# Production
yarn run build:production
yarn run serve:production
# Utilities
nx dep-graph # View dependency graph
yarn format # Format codeImportant Patterns & Conventions
File Organization
- TypeScript path aliases defined in
tsconfig.base.json - Use
@remix-project/<library-name>imports, not relative paths across libraries - Each library has:
src/,README.md,package.json,tsconfig.json
Testing Patterns
- Unit tests: Jest, located alongside source files
- E2E tests: Nightwatch, in
apps/remix-ide-e2e/src/tests/ - Group tags in E2E:
'Test description #group1': function (browser) { ... } - Must add
'@disabled': trueto test file metadata when using groups
Plugin Architecture
- Plugins extend base classes from
remix-core-plugin - Communication via event system
- API contracts defined in
remix-api - Uses
@remixproject/engineframework
UI Component Pattern
import React from 'react'
interface ComponentProps {
// props
}
export const Component: React.FC<ComponentProps> = (props) => {
// React hooks for state
// Bootstrap 5 for styling
return <div>...</div>
}Internationalization
- Uses react-intl with FormattedMessage
- Translations managed via CrowdIn (NOT GitHub PRs)
- Locale files in
apps/remix-ide/src/app/tabs/locales/ - Always provide
idprop,defaultMessageonly for dynamic IDs
When Working on This Codebase
Always Check First
- Build libs before building apps:
yarn run build:libsbeforeyarn build - Nx cache: Uses Nx Cloud for caching (configured in
nx.json) - Node version: Requires Node 20+ (check
package.jsonengines) - Branch strategy: PRs should target
masterbranch
Common Locations
- Tests:
apps/remix-ide-e2e/src/tests/(E2E),<library>/src/**/*.spec.ts(unit) - UI Components:
libs/remix-ui/<component>/src/lib/ - Plugin Code:
libs/remix-core-plugin/src/ - AI Features:
libs/remix-ai-core/src/ - Documentation:
README.mdin each library/app - Contributing Guide:
CONTRIBUTING.mdat root
File Reading Strategy
When exploring the codebase:
- Start with
README.mdfiles in relevant directories - Check
package.jsonfor dependencies and scripts - Look for TypeScript interfaces/types to understand data structures
- Read tests to understand expected behavior
- For AI features, check
libs/remix-ai-core/src/structure
Code Style
- Follow JavaScript Standard Style
- TypeScript preferred for new code
- Run
yarn formatbefore committing - Avoid over-engineering: keep changes focused and minimal
Typical Task Workflows
Adding a new library:
nx generate @nrwl/node:library <name>
# Update build:libs script in package.json
# Add README.mdAdding UI component:
- Create in
libs/remix-ui/<component>/src/lib/ - Export from package index
- Add tests alongside component
- Use existing Bootstrap 5 classes
Adding E2E test:
- Create in
apps/remix-ide-e2e/src/tests/ - Use group tags:
#group1,#group2, etc. - Add
'@disabled': trueto metadata - Build with
yarn build:e2ebefore running
Adding AI features:
- Agents:
libs/remix-ai-core/src/agents/ - MCP Handlers:
libs/remix-ai-core/src/remix-mcp-server/handlers/ - Resource Providers:
libs/remix-ai-core/src/remix-mcp-server/providers/ - Prompts:
libs/remix-ai-core/src/prompts/
Environment Variables
NX_CLOUD_ACCESS_TOKEN: Nx Cloud authentication (read from env)NX_ENDPOINTS_URL: API endpoints (used in serve:endpoints, serve:ngrok)NX_DESKTOP_FROM_DIST: Desktop build configuration flagWALLET_CONNECT_PROJECT_ID: WalletConnect integration
Known Issues & Quirks
- Memory issues: May need to increase Node memory for builds
node --max-old-space-size=8192is used in some scripts
- Nx cache: Sometimes needs clearing with
--skip-nx-cacheflag - E2E tests:
- Must build with
yarn build:e2eafter any test file changes - Script at
apps/remix-ide-e2e/src/buildGroupTests.jsprocesses group tags - Some tests require external services (Ganache, remixd)
- Must build with
- Hot reload: Use
yarn serve:hotfor frontend changes, not justyarn serve - Import resolution: Complex import resolver with support for npm, GitHub, IPFS, Swarm
- See
apps/remix-ide-e2e/README.mdfor 14 test groups covering different scenarios
- See
- Plugin engine: Uses custom plugin engine from
@remixproject/enginepackage
Project-Specific Knowledge
Ethereum/Solidity Context
- This is a Solidity IDE, so many libraries deal with:
- Solidity compilation and AST parsing
- EVM debugging and transaction tracing
- Static analysis for security vulnerabilities
- Smart contract testing and deployment
Desktop vs Web IDE
remix-ide: Web application (main focus)remixdesktop: Electron wrapper with additional local file access- Both share most code but have different build configurations
Plugin System
- Remix is highly extensible through plugins
- Plugins can be loaded from URLs, local files, or built-in
- Communication via pub/sub event system
- Each plugin has a profile (name, description, methods, events)
Testing Philosophy
- Group-based E2E tests for parallel execution
- Tests can run in isolation or all groups sequentially
- CircleCI runs tests in parallel across multiple containers
- Can tag tests with
#flakyto run across all instances
Documentation & Resources
- Main Docs: https://remix-ide.readthedocs.io/en/latest/
- Discord: https://discord.gg/MzhfCGstNA
- Contributing: See
CONTRIBUTING.mdat root - Libs Overview: See
libs/README.md - E2E Testing: See
apps/remix-ide-e2e/README.md - MetaMask Testing: See
apps/remix-ide-e2e/METAMASK.md - CircleCI: See
apps/remix-ide-e2e/CIRCLE_CI.md
Updates to This File
Team members should update this file when:
- New critical patterns emerge
- Project structure changes significantly
- Important conventions are established
- Common pitfalls are discovered
- New tools or workflows are adopted
Format: Keep this document focused on what Claude needs to know, not general development docs.
Last Updated: 2026-01-08 by team member Purpose: Context document for Claude Code AI assistant
Trending
Less talk lately.thin dataabout the whole repository
Who's talking about remix-project-org/remix-project
- OpenZeppelin/contracts-wizard“Remix - Use remappings file instead of import version pins ”GitHub · Mar 27, 2026 · 1 reactions
- keanucz/DeviceVerse“Bump elliptic, ethers and @remix-project/remix-solidity in /frontend”GitHub · Jan 9, 2026 · 1 reactions
- cloudevents/sdk-ruby“AggieD$haggathaabórt”GitHub · Nov 19, 2025 · 1 reactions
- rainbowabul-gif/skills“{”GitHub · Oct 19, 2026
- valorjesson-commits/market-earth-amm“**Is your feature request related to a problem? Please describe.**”GitHub · Sep 19, 2026
The biggest 5 of 14 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 14
Talked about on GitHub (14 times).
On GitHub · 14
- Mar 27, 2026Remix - Use remappings file instead of import version pins — OpenZeppelin/contracts-wizard1 reaction · 4 comments
- Jan 9, 2026Bump elliptic, ethers and @remix-project/remix-solidity in /frontend — keanucz/DeviceVerse1 reaction
- Nov 19, 2025AggieD$haggathaabórt — cloudevents/sdk-ruby1 reaction
- Oct 19, 2026{ — rainbowabul-gif/skills0 reactions
- Sep 19, 2026**Is your feature request related to a problem? Please describe.** — valorjesson-commits/market-earth-amm0 reactions
9 more on GitHub
- Jul 16, 2026DBC bayanihan portal block chain tools integration — ipfs/ipfs-docs0 reactions
- Jun 29, 2026> **Describe the bug** — fabiorubim740/Repor-OR-workflow-not-found-0 reactions
- Jun 16, 2026New Workspace Select box usage — remix-project-org/remix-ide0 reactions
- May 14, 2026Standalone build fails in browser: process.util and other Node.js dependencies missing — prettier-solidity/prettier-plugin-solidity0 reactions · 9 comments
- Jan 23, 2026Fix missing dependency for get-versioned-remappings with Webpack — OpenZeppelin/contracts-wizard0 reactions · 3 comments
- Nov 19, 2025izth≥$ho0ít3nds — actions/runner-images0 reactions
- Oct 16, 2025Add programmatic API option to print versioned imports for Solidity and/or get remappings — OpenZeppelin/contracts-wizard0 reactions · 3 comments
- Sep 19, 2025Remix encoding fix — OpenZeppelin/contracts-wizard0 reactions · 6 comments
- Sep 10, 2025Support percent‐escaped Base64 with special characters in code= URL parameter — paritytech/revive-remix0 reactions · 1 comment
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
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.

