Project management with tree view of all ticket relations.
  • TypeScript 61.3%
  • Svelte 35.8%
  • Go 1.6%
  • CSS 0.6%
  • Makefile 0.5%
  • Other 0.1%
Find a file
Marcel M. Otte 483f9b0433
All checks were successful
CI / test (push) Successful in 1m26s
CI / build (push) Successful in 28s
Fix connection name placeholder to use selected plugin name
Instead of hardcoding "My Forgejo" for all PM tools, the placeholder
  now dynamically shows "My <plugin name>" based on the selected plugin.
2026-04-24 07:26:34 +02:00
.forgejo/workflows Add Windows desktop build to release workflow and Makefile 2026-03-31 11:24:33 +02:00
.vscode Initial Commit - MVP 2026-03-26 11:43:38 +01:00
backend Azure plugin and many fixes 2026-03-27 11:58:59 +01:00
desktop fix: proxy redirect safety, auto-relayout, and settings add-connection 2026-04-17 11:24:38 +02:00
docs-site Refactor type system: native types with visual categories 2026-04-14 22:26:54 +02:00
e2e fix: align e2e mocks with open-only default and progress text 2026-04-21 08:56:05 +02:00
src Fix connection name placeholder to use selected plugin name 2026-04-24 07:26:34 +02:00
static Replace app icon with layered-cards design (#86) 2026-04-20 18:34:30 +02:00
.gitignore Add mkdocs-material documentation site with Diataxis structure 2026-04-14 20:33:06 +02:00
.npmrc Initial Commit - MVP 2026-03-26 11:43:38 +01:00
Makefile Add mkdocs-material documentation site with Diataxis structure 2026-04-14 20:33:06 +02:00
package-lock.json Initial Commit - MVP 2026-03-26 11:43:38 +01:00
package.json Initial Commit - MVP 2026-03-26 11:43:38 +01:00
playwright.config.ts Initial Commit - MVP 2026-03-26 11:43:38 +01:00
README.md Update README with desktop app download and build instructions 2026-03-31 14:38:25 +02:00
svelte.config.js Initial Commit - MVP 2026-03-26 11:43:38 +01:00
tsconfig.json Initial Commit - MVP 2026-03-26 11:43:38 +01:00
vite.config.ts Add build-time version display from git tags 2026-03-30 22:24:09 +02:00
vitest.config.ts Extract AppHeader with grouped buttons and snippet slots (#67) 2026-04-15 09:17:52 +02:00

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

Download the latest release for your platform from the Releases page:

  • Linuxprojecttreeview-desktop-linux-amd64
  • Windowsprojecttreeview-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

License

Open source. See the project repository for license details.