CLAUDE.md · genlayerlabs/genlayer-project-boilerplate
CLAUDE.md from genlayerlabs/genlayer-project-boilerplate: 196 lines covering Quick Commands, Architecture, Development Workflow, Contract Development and more.
Template by genlayerlabs
Chalk Labs
Need help deploying CLAUDE.md · genlayerlabs/genlayer-project-boilerplate?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code. Read the repository before you give any tool access to your data.
curl -fsSL https://raw.githubusercontent.com/genlayerlabs/genlayer-project-boilerplate/main/CLAUDE.md -o CLAUDE.md
Read it and adapt it to your project before use.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: prompt-engineering
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
What's in it
A CLAUDE.md file: project memory Claude Code loads at the start of every session.
- For
- Claude Code
- Length
- 196 lines
- File
CLAUDE.md
Sections
- Quick Commands
- Architecture
- Development Workflow
- Contract Development
- Writing Direct Mode Tests
- Linting
- Frontend Patterns
- AI Agent Skills
- GenLayer Technical Reference
First lines (shown under the repo's MIT license)
# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Quick Commands
```bash
# Linting
genvm-lint check contracts/football_bets.py # Lint a contract
# Testing
pytest tests/direct/ -v # Direct mode tests (fast, no Studio)
gltest tests/integration/ -v -s # Integration tests (requires Studio)
# Deployment
genlayer network # Select network
genlayer deploy # Deploy contracts
# Frontend
cd frontend && npm run dev # Start frontend dev server
```
## Architecture
```
contracts/ # Python intelligent contracts
tests/
direct/ # Fast in-memory tests with web/LLM mocks
integration/ # Full tests against GenLayer Studio
frontend/ # Next.js 15 app (TypeScript, TanStack Query, Radix UI)
deploy/ # TypeScript deployment scripts
```
**Frontend stack**: Next.js 15, React 19, TypeScript, Tailwind CSS, TanStack Query, Wagmi/Viem, MetaMask wallet integration.
## Development Workflow
1. Write/modify contract in `contracts/`
2. Lint: `genvm-lint check contracts/your_contract.py`
3. Test direct: `pytest tests/direct/ -v`
4. Start Studio and deploy: `genlayer deploy`
5. Test integration: `gltest tests/integration/ -v -s`
6. Run frontend: `cd frontend && npm run dev`
## Contract Development
Contracts are Python files in `/contracts/` using the GenLayer SDK:
```python
from genlayer import *
class MyContract(gl.Contract):
data: TreeMap[Address, str]
def __init__(self):
self.data = TreeMap()
@gl.public.view
def get_data(self, addr: Address) -> str:
return self.data.get(addr, "")
@gl.public.write
def set_data(self, value: str):
self.data[gl.message.sender_address] = value
```
**Decorators**:
- `@gl.public.view` — Read-only methods
- `@gl.public.write` — State-modifying methods
- `@gl.public.write.payable` — Methods accepting value
**Storage types**: `TreeMap`, `DynArray`, `Array`, `u256`, `i256`, `@allow_storage` for custom classes
## Writing Direct Mode Tests
Direct mode runs contracts in-memory without Studio. Key APIs:
```python
def test_example(direct_vm, direct_deploy, direct_alice):
contract = direct_deploy("contracts/my_contract.py")
# Set sender
direct_vm.sender = direct_alice
# Mock web requests (regex on URL)
direct_vm.mock_web(r".*example\.com.*", {"status": 200, "body": "response"})
# Mock LLM responses (regex on prompt)
direct_vm.mock_llm(r".*analyze.*", '{"result": "positive"}')
# Call contract methods directly
contract.some_write_method("arg1")
result = contract.some_view_method()
# Assert expected failures
with direct_vm.expect_revert("Error message"):
contract.invalid_method()
# Reset mocks between different scenarios
direct_vm.clear_mocks()
```
Available fixtures: `direct_vm`, `direct_deploy`, `direct_alice`, `direct_bob`, `direct_charlie`, `direct_owner`, `direct_accounts`
## Linting
The GenVM linter catches contract issues before deployment:
- Forbidden imports (`os`, `sys`, `subprocess`, etc.)
- Non-deterministic calls outside equivalence principle blocks
- Invalid storage types (must use `TreeMap`/`DynArray`, not `dict`/`list`)
- Missing decorators and return type annotations
- Bare Python exceptions (must use `gl.vm.UserError` or `Exception`)
## Frontend Patterns
- Contract interactions: `frontend/lib/contracts/FootballBets.ts`
- React hooks: `frontend/lib/hooks/useFootballBets.ts`
- Wallet context: `frontend/lib/genlayer/WalletProvider.tsx`
- GenLayer client: `frontend/lib/genlayer/client.ts`
## AI Agent Skills
Install the GenLayer development skills for enhanced agent-assisted workflows:
```bash
# In Claude Code:
/plugin marketplace add genlayerlabs/skills
/plugin install genlayer-dev@genlayerlabs
```
Skills available: `genvm-lint` (linting), `direct-tests` (direct mode testing), `integration-tests` (integration testing).
---
## GenLayer Technical Reference
> **Can't solve an issue?** Always check the complete SDK API reference:
> **https://sdk.genlayer.com/main/_static/ai/api.txt**
>
> Contains: all classes, methods, parameters, return types, changelogs, breaking changes.
### Documentation URLs
| Resource | URL |
|----------|-----|
| **SDK API (Complete)** | https://sdk.genlayer.com/main/_static/ai/api.txt |
| Full Documentation | https://docs.genlayer.com/full-documentation.txt |
| Main Docs | https://docs.genlayer.com/ |
| GenLayerJS SDK | https://docs.genlayer.com/api-references/genlayer-js |
### What is GenLayer?
GenLayer is an AI-native blockchain where smart contracts can natively access the internet and make decisions using AI (LLMs). Contracts are Python-based and executed in the GenVM.
### Web Access (`gl.nondet.web`)
```python
gl.nondet.web.get(url: str, *, headers: dict = {}) -> Response
gl.nondet.web.post(url: str, *, body: str | bytes | None = None, headers: dict = {}) -> Response
gl.nondet.web.render(url: str, *, mode: Literal['text', 'html']) -> strSignals
- Stars
- 19,188
- Forks
- 920
- Open issues
- 21
- Last commit (this folder)
- Mar 11, 2026 (7 months ago)
- Last release
- Dec 9, 2025 (10 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get CLAUDE.md · genlayerlabs/genlayer-project-boilerplate running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
CLAUDE.md · genlayerlabs/genlayer-project-boilerplate. Agent Mart. https://agentmart.dev/templates/genlayerlabs-genlayer-project-boilerplate-claude-md (last updated 2026-10-24)