Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions echo/.mcp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"mcpServers": {
"linear": {
"type": "http",
"url": "https://mcp.linear.app/mcp"
},
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp"]
}
}
}
28 changes: 19 additions & 9 deletions echo/AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,17 @@ ECHO is an event-driven platform for collective sense-making. Users run discrete

```
echo/
├── brand/ # Brand guidelines and assets
│ ├── STYLE_GUIDE.md # Comprehensive brand/UI guidelines
│ ├── colors.json # Machine-readable color tokens
│ ├── README.md # Quick reference + source links
│ └── logos/ # Logo files (PNG, SVG when available)
├── frontend/ # React + Vite frontend
│ ├── src/
│ │ ├── components/
│ │ ├── routes/
│ │ ├── locales/ # Translation .po files
│ │ └── config.ts # Feature flags
│ └── COPY_GUIDE.md # UI copy style guide
├── server/ # Python FastAPI backend
│ └── dembrane/
│ ├── api/ # API endpoints
Expand All @@ -27,20 +31,25 @@ echo/

## Key Conventions

### UI Copy (IMPORTANT)
### Brand & UI Copy (IMPORTANT)

Always follow [frontend/COPY_GUIDE.md](frontend/COPY_GUIDE.md) when writing user-facing text:
Always follow [brand/STYLE_GUIDE.md](brand/STYLE_GUIDE.md) when writing user-facing text or making design decisions:

- **Shortest possible, highest clarity**
- **No jargon** — use plain language users understand
- **No corporate speak** — write like explaining to a colleague
- **Never say "successfully"** — just state what happened
- Shortest possible, highest clarity
- No jargon, no corporate speak
- Write like explaining to a colleague
- Never say "successfully" (just state what happened)
- Never use bold text for emphasis (use Royal Blue or italics)
- "dembrane" always lowercase, even at sentence start
- Say "language model" not "AI" when describing platform features

Examples:
- "Context limit reached" → "Selection too large"
- "Successfully saved" → "Saved"
- "Please wait while we process" → "Processing..."

Color tokens available in `brand/colors.json` for programmatic use.

### Translations

See [docs/frontend_translations.md](docs/frontend_translations.md) for the full workflow.
Expand Down Expand Up @@ -89,7 +98,7 @@ Convention: Use `ENABLE_*` naming pattern for feature flags.

### Adding Translations

1. Write copy following COPY_GUIDE.md
1. Write copy following `brand/STYLE_GUIDE.md`
2. Use `<Trans>` component or `t` template literal
3. Run `pnpm messages:extract`
4. Fill in translations in all `.po` files
Expand All @@ -109,7 +118,8 @@ cd server && uv sync && uv run uvicorn dembrane.main:app --reload

| File | Purpose |
|------|---------|
| `frontend/COPY_GUIDE.md` | UI copy style guide |
| `brand/STYLE_GUIDE.md` | Brand guidelines, UI copy, colors, typography |
| `brand/colors.json` | Machine-readable color tokens |
| `frontend/src/config.ts` | Frontend feature flags |
| `server/dembrane/settings.py` | Backend configuration |
| `docs/frontend_translations.md` | Translation workflow |
Expand Down
27 changes: 27 additions & 0 deletions echo/brand/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# dembrane brand

This folder contains brand guidelines and assets for building dembrane products.

## Contents

- `STYLE_GUIDE.md` - comprehensive brand and UI guidelines
- `colors.json` - machine-readable color tokens
- `logos/` - logo files (SVG preferred)

## Source files

- **Figma**: Brand Guidelines deck (visual specs, button states, layouts)
- **Notion**: [Build Brand pillar](https://www.notion.so/dembrane/Build-Brand-03a9b1a8b5e44f81aa48a6c3c4ee476c)
- **Coolors**: [Palette](https://coolors.co/f6f4f1-2d2d2c-4169e1-ffc2ff-00ffff-1effa1-f4ff81-ffd166-ff9aa2)

## Quick reference

- **Typography**: DM Sans (with stylistic alternates ss01-ss06)
- **Primary action**: Royal Blue `#4169e1`
- **Background**: Parchment `#f6f4f1`
- **Text**: Graphite `#2d2d2c`
- **Archetype**: 80% Everyman + 20% Explorer

## Naming

Always write "dembrane" in lowercase. Even at the start of a sentence.
Loading
Loading