- TypeScript 61.3%
- Svelte 35.8%
- Go 1.6%
- CSS 0.6%
- Makefile 0.5%
- Other 0.1%
Instead of hardcoding "My Forgejo" for all PM tools, the placeholder now dynamically shows "My <plugin name>" based on the selected plugin. |
||
|---|---|---|
| .forgejo/workflows | ||
| .vscode | ||
| backend | ||
| desktop | ||
| docs-site | ||
| e2e | ||
| src | ||
| static | ||
| .gitignore | ||
| .npmrc | ||
| Makefile | ||
| package-lock.json | ||
| package.json | ||
| playwright.config.ts | ||
| README.md | ||
| svelte.config.js | ||
| tsconfig.json | ||
| vite.config.ts | ||
| vitest.config.ts | ||
Project Tree View
A browser-first application that visualizes issues and tickets from project management tools on an interactive infinite canvas with tree connections.
Load issues from your PM tool, see parent/child and blocking relationships as a visual graph, and edit issues directly from the canvas.
Features
- Interactive canvas — pan, zoom, collapse/expand subtrees, search and filter
- Multiple PM tool plugins — Forgejo, GitHub, and more coming
- Write-back — edit status, assignee, title, description, labels, and comments directly on cards
- Link creation — create parent/child and blocking relationships between issues from the canvas
- Filters — per-dimension chip filters with fade/hide modes and boundary visualization
- Child progress — progress bars showing closed/total counts with optional recursive descendant counting
- Saved views — persist and switch between canvas configurations
- Appearance — light/dark/system themes with customizable colors
- Desktop app — native desktop application via Wails for Linux and Windows — double-click and go, no terminal needed
- Go backend — single binary with embedded frontend and CORS proxy, cross-compiled for Linux, Windows, and macOS
- Offline-capable — runs entirely in the browser with IndexedDB caching; backend only needed for CORS proxy
Quick Start
Desktop app (recommended)
Download the latest release for your platform from the Releases page:
- Linux —
projecttreeview-desktop-linux-amd64 - Windows —
projecttreeview-desktop-windows-amd64-installer.exe(installer) or.exe(portable)
Run the app, add a connection to your PM tool in settings, and load a project.
Development
npm install
npm run dev
Open http://localhost:5173, add a connection to your PM tool in settings, and load a project.
Build
Desktop app
Requires Wails CLI:
make desktop # build for current platform
make desktop-debug # build with devtools enabled
make release # Linux + Windows desktop apps + server binaries
Frontend only (static SPA)
npm run build
Output in build/ — serve with any static file server.
Server binary (Go backend)
make backend # current platform
Output in dist/. The binary embeds the frontend and serves it alongside a CORS proxy.
Tests
make test-unit # vitest (unit + component tests)
make test-e2e # playwright (end-to-end tests)
make test # both
Plugin Architecture
PM tool integrations are implemented as plugins conforming to the PMPlugin interface in src/lib/plugins/interface.ts. Each plugin handles authentication, issue fetching, write operations, and link management for its specific PM tool.
| Plugin | Status |
|---|---|
| Forgejo | Included |
| GitHub | Included |
| GitLab | Soon(tm) |
| Taiga | Soon(tm) |
| OpenProject | Soon(tm) |
| Redmine | Soon(tm) |
Tech Stack
- Svelte 5 + TypeScript
- @xyflow/svelte for the canvas
- dagre for graph layout
- Dexie for IndexedDB persistence
- Wails for the native desktop app
- Go for the backend and desktop proxy
- Vitest + Playwright for testing
License
Open source. See the project repository for license details.