docs: Add rebranding info to CLAUDE.md (Patherly → ResolutionFlow)

Document the frontend rebrand including brand colors, fonts, logo
locations, CSS utilities, and naming conventions for future development.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Michael Chihlas
2026-02-04 00:22:47 -05:00
parent b1d5cc2be3
commit 29c1bcd204

View File

@@ -1,13 +1,13 @@
# CLAUDE.md - Patherly Project Context
# CLAUDE.md - Patherly / ResolutionFlow Project Context
> **Purpose:** This file provides Claude Code with essential context for working on the Patherly project.
> **Last Updated:** February 3, 2026 (improved by claude-md-improver)
> **Last Updated:** February 4, 2026
---
## Project Overview
**Patherly** is a troubleshooting decision tree application designed for MSP engineers. It guides engineers through proven troubleshooting paths, captures decisions and notes automatically, and generates professional ticket documentation.
**Patherly** (user-facing brand: **ResolutionFlow**) is a troubleshooting decision tree application designed for MSP engineers. It guides engineers through proven troubleshooting paths, captures decisions and notes automatically, and generates professional ticket documentation.
**Tagline:** "Take the path MOST traveled."
@@ -15,6 +15,30 @@
**Goal:** Michael uses this tool for 50% of his tickets within 3 months.
### Branding
The project was rebranded from "Patherly" to "ResolutionFlow" in the frontend (PR #26, commit `cfbd815`). The naming is split:
| Context | Name Used |
|---------|-----------|
| Repository / directory name | `patherly` |
| Backend (FastAPI, env vars, APP_NAME) | Patherly |
| Database / Docker container | `patherly` / `patherly_postgres` |
| Production URLs | `app.patherly.com` / `api.patherly.com` |
| **Frontend UI (header, login, register)** | **ResolutionFlow** |
| **Browser tab title** | **ResolutionFlow - Decision Tree Platform** |
**Brand details:**
- **Colors:** Purple gradient (`#818cf8``#a78bfa`)
- **Fonts:** Plus Jakarta Sans (headings), Inter (body), Outfit (labels) - loaded via Google Fonts
- **Logo:** Inline SVG in `AppLayout.tsx` and `LoginPage.tsx` (decision-tree icon with gradient)
- **Brand assets:** `brand-assets/` (source SVGs), `frontend/src/assets/brand/` (app assets), `frontend/public/icons/` (favicon)
- **CSS utilities:** `text-gradient-brand`, `bg-gradient-brand`, `bg-gradient-brand-hover` (defined in `tailwind.config.js` and `index.css`)
- **Rebrand guide:** [REBRAND-IMPLEMENTATION-GUIDE.md](REBRAND-IMPLEMENTATION-GUIDE.md)
When adding new frontend pages or components, use "ResolutionFlow" for any user-visible branding. Use `font-heading` for heading elements and the `text-gradient-brand` utility for brand-colored text.
---
## Current State
@@ -62,10 +86,16 @@
- Full-text search endpoint
- Popular tags endpoint
- Rating/review system with verified use tracking
- **Frontend Rebrand (PR #26):**
- Renamed from "Patherly" to "ResolutionFlow" in all user-facing UI
- Purple gradient theme, custom fonts (Plus Jakarta Sans, Inter, Outfit)
- Custom SVG logo in header and auth pages
- Updated favicon and browser tab title
### What's In Progress
- Step Library frontend UI (Phase 2.5 continuation)
- Custom step continuation flow refinements (Phase 2.5)
- Tree forking from sessions with custom steps
### Deployment
@@ -87,7 +117,8 @@
### Frontend
- **Framework:** React 19 + Vite + TypeScript
- **Styling:** Tailwind CSS v3
- **Styling:** Tailwind CSS v3 with ResolutionFlow brand theme (purple gradient)
- **Fonts:** Plus Jakarta Sans (headings), Inter (body), Outfit (labels) via Google Fonts
- **State:** Zustand (with immer + zundo for undo/redo)
- **Routing:** React Router v7
- **API Client:** Axios with token interceptors
@@ -138,11 +169,16 @@ patherly/
│ ├── requirements.txt
│ └── .env # Environment variables
├── brand-assets/ # Source brand SVGs and guides
├── frontend/
│ ├── public/
│ │ └── icons/ # Favicon and PWA icons
│ ├── src/
│ │ ├── main.tsx
│ │ ├── App.tsx
│ │ ├── router.tsx
│ │ ├── assets/brand/ # Brand logos (SVG)
│ │ ├── api/ # Axios API client
│ │ │ ├── client.ts # Axios instance with interceptors
│ │ │ ├── auth.ts
@@ -179,6 +215,7 @@ patherly/
├── CURRENT-STATE.md # Quick status reference
├── LESSONS-LEARNED.md # Bugs and fixes (READ THIS!)
├── PROGRESS.md # Detailed progress log
├── REBRAND-IMPLEMENTATION-GUIDE.md # Patherly → ResolutionFlow rebrand guide
├── 01-PROJECT-OVERVIEW.md # Vision and goals
├── 02-TECHNICAL-ARCHITECTURE.md # System design, API specs
├── 03-DEVELOPMENT-ROADMAP.md # Phases and timeline
@@ -438,6 +475,32 @@ if settings.ALLOW_RAILWAY_ORIGINS:
```
When using `allow_origin_regex` for wildcard patterns, also include `allow_origins` for explicit custom domains. The regex alone won't match custom domains like `app.patherly.com`.
### findNode Requires Tree Structure Parameter
```tsx
// WRONG - Always returns null (structure defaults to undefined)
const node = findNode(nodeId)
// CORRECT - Pass tree structure explicitly
const node = findNode(nodeId, tree?.tree_structure)
// For custom steps, also check:
const customStep = findCustomStep(nodeId)
```
### Frontend/Backend API Path Alignment
Always verify frontend API paths match backend route definitions. Example: backend serves `/steps/tags/popular` but frontend called `/steps/popular-tags`. Check `backend/app/api/router.py` and endpoint files for actual paths.
### Custom Step Flow in Tree Navigation
The custom step insertion flow in `TreeNavigationPage.tsx` chains through multiple modals:
1. `CustomStepModal` (create/browse) → 2. `PostStepActionModal` (save/use/both) → 3. `ContinuationModal` (pick descendant or build branch) → 4. Custom step view with "Continue to" button
Key state: `pendingStep`, `pendingContinuationNodeId`, `customBranchMode`, `branchOriginNodeId`
Custom steps are stored in session JSONB (`custom_steps` field) and referenced by UUID in `pathTaken`.
`findNode()` only searches tree structure -- use `findCustomStep()` for custom step UUIDs.
---
## API Endpoints Reference
@@ -707,6 +770,7 @@ backend/**/__pycache__/
| Bug Fixes | [LESSONS-LEARNED.md](LESSONS-LEARNED.md) |
| Feature Specs | [04-FEATURE-SPECIFICATIONS.md](04-FEATURE-SPECIFICATIONS.md) |
| Phase 2.5 Spec | [PHASE-2.5-PERSONAL-BRANCHING.md](PHASE-2.5-PERSONAL-BRANCHING.md) |
| Rebrand Guide | [REBRAND-IMPLEMENTATION-GUIDE.md](REBRAND-IMPLEMENTATION-GUIDE.md) |
---