Skip to content

Commit 02e80b6

Browse files
dylanjeffersclaude
andcommitted
chore: add branching rules and environments to CLAUDE.md
Document that branches must always be based on main and that work should happen in the apps/apps-2/apps-3 worktrees. Clarify there is no staging environment — only development and production. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent e4a04e2 commit 02e80b6

1 file changed

Lines changed: 21 additions & 9 deletions

File tree

CLAUDE.md

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,13 @@
22

33
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
44

5-
## Terminology
6-
7-
Audius runs on the **Open Audio Protocol**, which uses a single canonical node type: the **Open Audio Validator Node**. The earlier split between *Discovery Nodes* and *Content Nodes* is deprecated — both roles are now served by validator nodes. When writing docs, comments, commit messages, or user-facing strings, use "Open Audio Validator Node" (or just "validator node"). Do not introduce new references to "Discovery Node", "Content Node", "Creator Node", or "Discovery Provider". Directory names like `packages/discovery-provider` and `mediorum` are retained for compatibility but no longer reflect the architecture.
8-
95
## Project Overview
106

117
Audius is a decentralized, community-owned music-sharing protocol. This is a monorepo containing:
128

139
- Web and desktop applications (React + Vite)
1410
- Mobile applications (React Native)
15-
- Backend services that together make up the Open Audio Validator Node software (indexer + media storage; see `packages/discovery-provider` and `mediorum` directories — names retained from earlier architecture)
11+
- Backend services (Discovery Provider, Content Node)
1612
- Blockchain smart contracts (Ethereum and Solana)
1713
- SDK and common libraries
1814

@@ -33,8 +29,9 @@ npm run protocol
3329
audius-compose connect
3430

3531
# Run web application
36-
npm run web # Against production
37-
npm run web:local # Against local services
32+
npm run web:dev # Against local services
33+
npm run web:prod # Against production
34+
# NOTE: web:stage does not exist — there is no staging environment
3835

3936
# Run mobile applications
4037
npm run mobile # Metro only — preferred for JS-only changes; user opens the simulator manually with the existing build
@@ -80,7 +77,7 @@ audius-cmd stream
8077
- **packages/sdk**: JavaScript SDK for interacting with Audius protocol
8178
- **packages/harmony**: Design system components and tokens
8279
- **packages/discovery-provider**: Python backend that indexes blockchain data
83-
- **mediorum**: Media storage component of the Open Audio Validator Node — stores and serves audio files (directory name retained from earlier "content node" architecture)
80+
- **mediorum**: Content node for storing/serving audio files
8481

8582
### State Management
8683

@@ -123,6 +120,21 @@ audius-cmd stream
123120
- Backend changes may require protocol restart
124121
- Design system changes affect both web and mobile
125122

123+
### Branching Rules
124+
125+
- Always branch off main: `git fetch origin && git checkout -b your-branch origin/main`
126+
- Never branch off another feature branch
127+
- If a branch isn't based on main, rebase it: `git rebase origin/main`
128+
- Do all work in apps, apps-2, or apps-3 worktrees — never in Claude's auto-created worktrees under `.claude/worktrees/`
129+
130+
### Environments
131+
132+
- There is NO staging environment — only development and production
133+
- `npm run web:prod` is the correct command to run locally against prod
134+
- `npm run web:dev` runs against local protocol
135+
- The environment type is either `'development'` or `'production'` — never `'staging'`
136+
- Never add staging support or reference `staging.audius.co`
137+
126138
### Environment Variables
127139

128140
- Web: See packages/web/.env.dev
@@ -134,7 +146,7 @@ audius-cmd stream
134146
- Protocol must be running for local development
135147
- Mobile requires proper native environment setup
136148
- Some features require blockchain interaction
137-
- Audio processing happens on Open Audio Validator Nodes (the role formerly called "content node" — deprecated terminology)
149+
- Audio processing happens on content nodes
138150

139151
## Code Style and Best Practices
140152

0 commit comments

Comments
 (0)