docs: rewrite README and add CHANGELOG
README: updated to reflect current product (FlowPilot, PSA integration, Knowledge Flywheel), fixed stale roadmap references to closed issues, corrected Tailwind version (v3→v4), added Quick Start section, linked all documentation. CHANGELOG: organized by version from v0.1.0 (Jan 2026) through v0.9.0 (current), covering all major features across 9 releases. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
194
README.md
194
README.md
@@ -1,76 +1,84 @@
|
||||
# ResolutionFlow
|
||||
|
||||
> Take the path MOST traveled.
|
||||
> Stop writing ticket notes. Start generating them.
|
||||
|
||||
**ResolutionFlow** is a SaaS platform for MSP professionals that provides guided troubleshooting flows, captures decisions and notes as you work, and generates professional ticket documentation with one click.
|
||||
**ResolutionFlow** is an AI-powered troubleshooting platform for MSP professionals. Engineers follow guided flows while an AI copilot assists — and documentation writes itself as a byproduct of the work.
|
||||
|
||||
**Production:** [resolutionflow.com](https://resolutionflow.com)
|
||||
|
||||
---
|
||||
|
||||
## The Problem
|
||||
## Quick Start
|
||||
|
||||
MSP engineers face constant context switching between diverse technical issues — file shares, server outages, VPN failures, Active Directory problems. This creates:
|
||||
```bash
|
||||
# Prerequisites: Docker, Python 3.11+, Node.js 20+
|
||||
|
||||
- **Cognitive overload** — 15-25 minutes to regain focus after each context switch
|
||||
- **Inconsistent documentation** — under pressure, notes are rushed or incomplete
|
||||
- **Lost tribal knowledge** — best troubleshooting paths live only in senior engineers' heads
|
||||
- **Repeated work** — same issues investigated from scratch each time
|
||||
# Start PostgreSQL
|
||||
docker start patherly_postgres
|
||||
|
||||
## The Solution
|
||||
# Backend
|
||||
cd backend
|
||||
source venv/bin/activate
|
||||
pip install -r requirements.txt
|
||||
alembic upgrade head
|
||||
uvicorn app.main:app --reload
|
||||
|
||||
An intelligent flow system that:
|
||||
# Frontend (separate terminal)
|
||||
cd frontend
|
||||
npm install
|
||||
npm run dev
|
||||
```
|
||||
|
||||
- **Guides** engineers through proven troubleshooting paths
|
||||
- **Captures** decisions and notes automatically as you work
|
||||
- **Generates** professional ticket documentation with one click
|
||||
- **Builds** institutional knowledge that improves over time
|
||||
- **Reduces** cognitive load during high-stress situations
|
||||
- Frontend: http://localhost:5173
|
||||
- Backend API: http://localhost:8000
|
||||
- API Docs: http://localhost:8000/api/docs
|
||||
|
||||
See [DEV-ENV.md](DEV-ENV.md) for full environment setup (devserver, Docker, CORS).
|
||||
|
||||
---
|
||||
|
||||
## Features
|
||||
|
||||
### Flow Types
|
||||
### FlowPilot AI Copilot
|
||||
|
||||
Like having a senior engineer on every call. FlowPilot guides troubleshooting decisions, suggests next steps with context-aware intelligence, and automatically captures documentation as a byproduct of the session.
|
||||
|
||||
- Confidence-tiered model routing (fast responses for simple steps, deeper reasoning for complex decisions)
|
||||
- AI-generated ticket summaries and session documentation
|
||||
- Standalone assistant chat with RAG for open-ended troubleshooting
|
||||
- Knowledge Flywheel: AI analyzes completed sessions and proposes new flows automatically
|
||||
|
||||
### Guided Flows
|
||||
|
||||
- **Troubleshooting Flows** — Decision trees with branching paths for diagnosing issues
|
||||
- **Procedural Flows (Projects)** — Step-by-step checklists for structured processes (onboarding, migrations, deployments)
|
||||
- **Procedural Flows (Projects)** — Step-by-step checklists for onboarding, migrations, deployments
|
||||
- **Maintenance Flows** — Scheduled recurring tasks with batch execution across multiple targets
|
||||
- Visual Flow Editor with drag-and-drop canvas, undo/redo, markdown support
|
||||
- AI Flow Builder — describe what you need, get a complete flow generated
|
||||
|
||||
### Flow Editor
|
||||
- Form-based node editor with live canvas preview (React Flow + dagre layout)
|
||||
- Decision nodes (yes/no, multiple choice), action nodes, answer nodes
|
||||
- Cross-reference / loop-back support — link any node to any other node for re-verification patterns
|
||||
- Undo/redo, validation warnings, drag-to-reorder
|
||||
- Markdown support in descriptions and help text
|
||||
### Auto-Documentation
|
||||
|
||||
### AI Flow Assist
|
||||
- Conversational AI builder — describe what you need, get a complete flow generated
|
||||
- Multi-phase interview (scope, structure, details) with progressive tree generation
|
||||
- Live preview updates as the AI builds your flow
|
||||
- Save directly to your flow library
|
||||
Every session generates timestamped, detailed notes formatted for your PSA. Engineers never write another ticket note.
|
||||
|
||||
### Session Engine
|
||||
- Step-by-step guided navigation with notes capture at each decision point
|
||||
- Session timer, keyboard shortcuts, scratchpad overlay (Ctrl+/)
|
||||
- Auto-recovery for interrupted sessions
|
||||
- Export to Markdown, plain text, or HTML
|
||||
- Sensitive data redaction
|
||||
- One-click push to ConnectWise PSA tickets
|
||||
|
||||
### ConnectWise PSA Integration
|
||||
|
||||
- Post session documentation directly to ConnectWise tickets as internal notes
|
||||
- Pull ticket details and client context into FlowPilot sessions
|
||||
- Member mapping between ResolutionFlow and ConnectWise users
|
||||
- Credentials encrypted at rest (Fernet), stored per-team
|
||||
|
||||
### Team & Knowledge Management
|
||||
|
||||
- Role-based access (super_admin, team_admin, engineer, viewer)
|
||||
- Shared flow library with categories, tags, folders, full-text search
|
||||
- Step Library — reusable troubleshooting steps with ratings and reviews
|
||||
- Session sharing via link (authenticated and public views)
|
||||
- Export to Markdown, plain text, or HTML with configurable detail levels, editable preview, and sensitive data redaction
|
||||
|
||||
### Organization & Management
|
||||
- Categories, tags (autocomplete), user folders (3-level hierarchy)
|
||||
- Full-text search across all flows
|
||||
- Pinned flows for quick access
|
||||
- Grid, list, and table views
|
||||
|
||||
### Team & Admin
|
||||
- Role-based access control (super_admin, team_admin, engineer, viewer)
|
||||
- Admin panel — user management, invite codes, audit logs, feature flags, plan limits
|
||||
- Team-scoped visibility and permissions
|
||||
|
||||
### Step Library
|
||||
- Shared library of reusable troubleshooting steps
|
||||
- Search, ratings, reviews, verified-use badges
|
||||
- Private, team, and public visibility levels
|
||||
- Escalation workflow with AI-enhanced briefing packages
|
||||
- Flow proposals from AI analysis (review queue for team leads)
|
||||
|
||||
---
|
||||
|
||||
@@ -78,16 +86,18 @@ An intelligent flow system that:
|
||||
|
||||
| Layer | Technology |
|
||||
|-------|------------|
|
||||
| Frontend | React 19, TypeScript, Vite, Tailwind CSS v3 |
|
||||
| Frontend | React 19, TypeScript, Vite, Tailwind CSS v4 |
|
||||
| State | Zustand (immer + zundo for undo/redo) |
|
||||
| Routing | React Router v7 |
|
||||
| Canvas | @xyflow/react (React Flow) + dagre |
|
||||
| Backend | Python FastAPI, async SQLAlchemy 2.0 + asyncpg |
|
||||
| Database | PostgreSQL 16 |
|
||||
| Migrations | Alembic |
|
||||
| Migrations | Alembic (75+ migrations) |
|
||||
| Auth | JWT (python-jose) + bcrypt, refresh token rotation |
|
||||
| AI | Anthropic Claude API |
|
||||
| AI | Anthropic Claude API (tiered model routing) |
|
||||
| Embeddings | Voyage AI (semantic search) |
|
||||
| Scheduling | APScheduler 3.x (async) |
|
||||
| Analytics | PostHog |
|
||||
| Hosting | Railway (auto-deploy on push to main) |
|
||||
|
||||
---
|
||||
@@ -99,88 +109,52 @@ patherly/
|
||||
├── backend/
|
||||
│ ├── app/
|
||||
│ │ ├── main.py # FastAPI entry point
|
||||
│ │ ├── api/endpoints/ # Route handlers
|
||||
│ │ ├── api/deps.py # Auth dependencies
|
||||
│ │ ├── api/router.py # Route registration
|
||||
│ │ ├── core/ # Config, database, permissions, security, AI services
|
||||
│ │ ├── api/endpoints/ # Route handlers (35+ endpoints)
|
||||
│ │ ├── core/ # Config, database, permissions, security
|
||||
│ │ ├── models/ # SQLAlchemy models
|
||||
│ │ └── schemas/ # Pydantic schemas
|
||||
│ │ ├── schemas/ # Pydantic schemas
|
||||
│ │ └── services/psa/ # PSA provider abstraction layer
|
||||
│ ├── alembic/ # Database migrations
|
||||
│ ├── scripts/ # Seed data scripts
|
||||
│ └── tests/ # pytest integration tests (100+)
|
||||
│ └── tests/ # Integration tests (100+)
|
||||
├── frontend/
|
||||
│ ├── src/
|
||||
│ │ ├── api/ # Axios client + endpoint modules
|
||||
│ │ ├── components/ # UI components by domain
|
||||
│ │ ├── hooks/ # Custom React hooks
|
||||
│ │ ├── pages/ # Page components
|
||||
│ │ ├── store/ # Zustand stores
|
||||
│ │ └── types/ # TypeScript interfaces
|
||||
│ └── tailwind.config.js
|
||||
├── docs/ # Design docs, plans, ConnectWise reference
|
||||
├── brand-assets/ # SVGs, brand guide
|
||||
├── CLAUDE.md # AI assistant project context
|
||||
├── CURRENT-STATE.md # Detailed feature status
|
||||
├── 03-DEVELOPMENT-ROADMAP.md # Development roadmap
|
||||
└── docs/plans/ # Design docs & implementation plans
|
||||
└── CHANGELOG.md # Release history
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Development Setup
|
||||
|
||||
### Prerequisites
|
||||
- Docker (for PostgreSQL)
|
||||
- Python 3.11+
|
||||
- Node.js 18+
|
||||
|
||||
### Quick Start
|
||||
## Running Tests
|
||||
|
||||
```bash
|
||||
# Start PostgreSQL
|
||||
docker start patherly_postgres
|
||||
|
||||
# Backend
|
||||
# Backend integration tests
|
||||
cd backend
|
||||
python -m venv venv
|
||||
source venv/bin/activate # or .\venv\Scripts\Activate on Windows
|
||||
pip install -r requirements.txt
|
||||
alembic upgrade head
|
||||
uvicorn app.main:app --reload
|
||||
|
||||
# Frontend (separate terminal)
|
||||
cd frontend
|
||||
npm install
|
||||
npm run dev
|
||||
```
|
||||
|
||||
### URLs
|
||||
- Frontend: http://localhost:5173
|
||||
- Backend API: http://localhost:8000
|
||||
- API Docs: http://localhost:8000/api/docs
|
||||
|
||||
### Running Tests
|
||||
|
||||
```bash
|
||||
# Backend (from backend/)
|
||||
pytest --override-ini="addopts="
|
||||
|
||||
# Frontend type check
|
||||
cd frontend && npm run build
|
||||
# Frontend build (stricter than tsc --noEmit)
|
||||
cd frontend
|
||||
npm run build
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Roadmap
|
||||
## Documentation
|
||||
|
||||
See [03-DEVELOPMENT-ROADMAP.md](03-DEVELOPMENT-ROADMAP.md) for the full roadmap.
|
||||
|
||||
**Current focus:**
|
||||
- Step Library frontend UI
|
||||
- Procedural flows lifecycle improvements
|
||||
|
||||
**Next up:**
|
||||
- Quick Actions Dashboard (#70)
|
||||
- Tree Effectiveness Dashboard (#61)
|
||||
- PSA Integration — ConnectWise / Autotask (#63)
|
||||
| Document | Purpose |
|
||||
|----------|---------|
|
||||
| [CLAUDE.md](CLAUDE.md) | Full project context for AI-assisted development |
|
||||
| [CURRENT-STATE.md](CURRENT-STATE.md) | Detailed feature status |
|
||||
| [03-DEVELOPMENT-ROADMAP.md](03-DEVELOPMENT-ROADMAP.md) | Development roadmap |
|
||||
| [UI-DESIGN-SYSTEM.md](UI-DESIGN-SYSTEM.md) | Design system (Slate & Ice) |
|
||||
| [DEV-ENV.md](DEV-ENV.md) | Development environment setup |
|
||||
| [CHANGELOG.md](CHANGELOG.md) | Release history |
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user