A terminal RPG where defeating the Notification Swarm, surviving the Great Backlog, and leveling up your hero somehow results in getting things done.

▼   scroll to begin your journey   ▼

// The Living Chronicle — Chapter I

The Notification Swarm


Questline is not a solo endeavor. The realm is shared — and right now, it is under siege.

The first Chapter of the Questline Great Chronicle has begun. Every adventurer in the realm contributes to a single cooperative objective. Progress is tracked globally. Every task you complete, every scroll you write, every focus session you honor — it counts. Not just for you. For everyone who opened their terminal today instead of the notification feed.

# Chronicle Entry — The Early Days

  In the early days of the Questline realm, notifications were rare and precious —
  a message from a companion, a reminder of something that mattered.
  Adventurers checked them with care, responded with intention,
  and returned to their quests with purpose.

  Then the Swarm began.

  It started with a badge. Then an update. Then an alert about the alert.
  The notifications multiplied, each one demanding immediate attention —
  urgent by design, meaningless by nature. The once-quiet realm became a storm
  of pings, popups, and red circles on every icon.

  Adventurers began losing quests. Tasks left half-done.
  The Chronicle fell silent. The Zen Trees, starved of their daily water,
  began to wither.

  The Swarm does not rest. It does not negotiate.
  It feeds on abandoned attention and grows stronger
  with every quest left incomplete.

  The realm calls for those who can ignore the noise.
  Who can close the popups, silence the badges,
  and return to the work that matters.
  The Notification Swarm is not defeated by willpower alone —
  it is defeated by completed quests.

// The Call to Arms

Complete your quests and their steps. Honor your focus sessions. Nurture the Zen Tree. Fulfill your sidequests. Record your reflections. Every action you take in Questline contributes directly to the cooperative Chapter objective — visible on the Great Chronicle screen in real time, shared across every adventurer in the realm.

Chapter Objectives

  • Quests Completed  —  1,000 tasks across all adventurers
  • Quest Steps  —  2,000 subtasks resolved
  • Scrolls Written  —  1,000 notes recorded in the Chronicle
  • Focus Sessions  —  500 deep work sessions honored
  • Zen Tree Waterings  —  2,000 acts of daily consistency
  • Rituals Fulfilled  —  500 recurring disciplines maintained

Upon Completion

When the realm collectively meets all six objectives, the Chapter ends. Every adventurer who contributed receives a one-time completion message — displayed in their Chronicle the next time they open the app, never shown again.

The Notification Swarm has been dispersed.

Something stirred beyond the horizon.

The Chronicle turns to the next page.
# Progress is tracked in the Great Chronicle screen. Visible to every adventurer.
# Every contribution is permanent. Every quest matters.

$ questline     # open your terminal. complete your quests. help disperse the Swarm.

Chapter One — The Notification Swarm

The Swarm is here. The Realm needs you. Join the fight today.

Complete your tasks. Save the Realm. These are, suspiciously, the same thing.

// The Chronicle — Entry 001

What Is Questline


Questline is a terminal-first productivity application built in Rust that turns your task list into an RPG. You pick a class, you level up, you grow a tree that silently judges your consistency, and you do your actual work — which was the main point all along.

It runs entirely in your terminal. Your data lives locally in SQLite. There is optional cloud sync if you want your productivity guilt to follow you across devices. The interface looks like it was built by someone who loved both spreadsheets and dungeons, because it was.

// Interactive Terminal Demo (Type commands here)

# Questline Interactive Terminal v1.0.7 # Type 'help' to view commands.
$

Built on Honesty

Questline cannot complete your tasks. It can, however, make ignoring them significantly more embarrassing. Every skipped day is a gap in the Chronicle. The Zen Tree notices. The Zen Tree does not forgive.

Local-First Architecture

Your data stays on your machine. No subscription required to access your own to-do list. Optional sync is available for multi-device adventurers and those who enjoy watching databases replicate across timezones.

RPG Progression That Matters

XP is earned by completing tasks, writing journal entries, maintaining streaks, and finishing focus sessions — not by clicking buttons or watching progress bars. There is no shortcut. The system has been tested.

Collaborative Realms

Share projects with other users via Fellowship. Members contribute to shared tasks, write to a Project Chronicle, and silently compete for who can maintain a longer streak. Collaboration, technically.

# The elevator pitch, terminal edition

$ questline --describe-self

  "The world's most elaborate reminder to finish your tasks."

  Status .......... Running
  Motivation ...... Overrated
  Discipline ....... The actual plan
  Backlog ......... Doing pushups while you read this
  Your Zen Tree ... Waiting

// Target Profile Assessment

Who Is This For


Questline is for people who have tried plain to-do lists and found them motivationally inert. It is not exclusively for developers. It is for anyone who does knowledge work, manages their own time, and responds better to systems with some personality than to systems that look like a spreadsheet that has given up.

If you have ever opened a productivity app, added three tasks, and closed it without ever opening it again — Questline was built with you specifically in mind. Not to fix the problem. To make it significantly more embarrassing to repeat.

The Solo Worker
Freelancers · Contractors · Consultants
"I am my own project manager, which is exactly as terrifying as it sounds."
You manage your own time, your own deadlines, and your own motivation — with no one to hold you accountable except the invoice you haven't sent yet. Questline provides structure without overhead: projects, tasks, streaks, and a daily rhythm that keeps work moving even when no one is watching.
The Developer
Engineers · Programmers · Architects
"I have seventeen terminal windows open. One more is fine."
You live in the terminal. A mouse-driven productivity app is a context switch you did not ask for. Questline runs entirely in the CLI, integrates naturally into your existing workflow, and does not require you to learn a new UI paradigm. You already know how a keyboard works.
The Knowledge Worker
Writers · Researchers · Analysts
"My work is invisible until it suddenly isn't."
Your output is ideas, documents, and decisions — not code commits or shipped features. Progress is hard to see and harder to measure. The journal, daily reflections, streak tracking, and milestone system exist precisely to make invisible progress visible. You did the work. The Chronicle agrees.
The Student
Coursework · Research · Long Projects
"The deadline has been aware of me for weeks. I am only now becoming aware of it."
Long projects with distant deadlines are Questline's natural habitat. Daily adventures, streak tracking, and focus sessions are designed for sustained effort over weeks and months — not last-minute sprints. The Zen Tree does not care about your exam date. It cares whether you showed up today.
The Small Team
Collaborators · Co-founders · Pairs
"We are highly aligned on the vision. Less so on who is doing what by when."
Shared projects via Fellowship let small teams coordinate tasks, notes, and a running Project Chronicle without a subscription to a project management platform that is technically designed for teams of fifty. Two people with a shared goal and a shared project board. That is enough.
The Chronic Starter
Everyone Else · The Honest Category
"I have seventeen unfinished projects and eight productivity apps installed."
You start things. You have always started things. The finishing is where it gets complicated. Questline does not solve this — no app does. But milestones require proof of sustained effort, streaks punish gaps, and the Chronicle records everything. The social contract is with the system. The system does not accept excuses gracefully.

// Out of Scope

# Questline is probably not the right tool if you:

  ✗  Need Gantt charts, resource allocation, or sprint planning boards
  ✗  Require a mobile app  (terminal runs on desktop only)
  ✗  Prefer clicking things  (keyboard-only interface, intentionally)
  ✗  Want a team of 20+ people on the same workspace
  ✗  Need integrations with Jira, Slack, or other enterprise platforms
  ✗  Are looking for something that will finish your tasks for you

# No tool does the last one. We checked.

// The Six Great Orders

Choose Your Calling


Your class is not cosmetic. It determines your color palette, your starting powers, your Order lore, and the specific flavor of productivity guilt you will carry. Choose with care. Choose with honesty. You can change at Level 10 via Specialization, but the Chronicle will remember your original shame.

Code Warlock
The Terminal Covenant
"Caffeine in. Code out. The loop must continue."
No one knows exactly how the Code Warlocks began. Their own records are incomplete. Mostly because they forgot to back them up.
Task Paladin
The Sacred Checklist
"The to-do list shall be purified."
While others debate, while others plan, while others research — Task Paladins complete things. The checkbox is their cathedral.
Mind Sage
The Silent Archive
"Every idea is a node. Every node is power."
The Mind Sages dedicate themselves to preserving knowledge. Nothing is too small to record. Some of their archives are even relevant.
Systems Architect
The Builders of Order
"Give me enough folders and I will organize the universe."
Systems Architects see patterns where others see chaos. Many are capable of producing folder hierarchies before understanding the project itself. The Downloads folder remains exempt.
Time Chronomancer
The Keepers of Hours
"Time is not money. Time is everything."
Unlike gold, time cannot be earned. Unlike knowledge, it cannot be stored. Chronomancers know exactly where every hour goes. They are rarely happy about it.
Arch Accountant
The Order of the Ledger
"Numbers do not lie. But accountants can make them confess."
Where others sought glory, the Arch Accountants sought balance. They can account for every coin. They cannot account for where the weekend went. No one can.

// System Manifest

Core Systems


>
Projects & Tasks
Organize work into projects. Break projects into tasks. Prioritize ruthlessly. Complete things. The backlog will grow regardless — the difference is whether you have a plan or a pile.
>
The Chronicle & Notes
Every project has a journal for tracking progress and a notes tab for capturing everything that doesn't fit anywhere else. Your future self will thank you, then immediately ignore the notes they wrote.
>
The Zen Tree
A companion that grows from consistency, not intensity. Water it daily. Complete focus sessions. It progresses from Acorn to World Tree over time. It does not respond to motivational speeches. It has heard them before.
>
Focus Sessions
15, 25, 45, 60, or 90-minute deep work blocks with optional ambient soundscapes. Eight soundscapes available: forest sounds, rain, ocean, white noise, LoFi, and "Music for Programming," which is exactly what it sounds like.
>
Daily Adventures
Three daily quests regenerate each morning: complete tasks, write notes, update the journal, water your tree, finish high-priority work. Small. Achievable. Surprisingly effective at keeping momentum when motivation has quietly left the building.
>
Streak Tracking
Your current and best streaks are always visible. The Chronicle records every active day. Missing one resets the counter, not the record. The best streak is a fact. The current streak is a commitment.
>
Project Milestones
Three tiers of milestone templates — Initiate, Veteran, Legendary — each with specific requirements around project age, task completion, journal entries, streaks, and focus sessions. They cannot be farmed. The system was tested. Someone tried.
>
The Lore Library
Achievements unlock lore entries across multiple categories: world history, class tales, creature studies, and achievement records. The descriptions are honest, occasionally unkind, and accurate.
>
Fellowship & Shared Realms
Invite collaborators to shared projects. Members see shared tasks, notes, and a live Project Chronicle. Sync happens across devices via cryptographic Ed25519 authentication. The technology is impressive. Whether it helps you ship faster depends on the team.
>
Rituals & Reflections
Reusable daily or weekly tasks that award XP on completion. Daily Reflections capture what went well and what can improve. The Ritual of "checking tasks off without doing them" has been deliberately excluded.
.ooo. .oQOOPQo. .oQOQOQOQo. .oQOQOQOQOQo. ||| ||| ||| |||

// Zen Tree Growth Stages

  • Stage 1 — Acorn       Your tree exists. Barely.
  • Stage 2 — Sapling      Signs of life. Encouragingly.
  • Stage 3 — Treekin      Something is growing here.
  • Stage 4 — Grovekeeper   Consistency is paying off.
  • Stage 5 — Ancient Warden Long-term commitment, confirmed.
  • Stage 6 — Forest Elder   The long game. Respected.
  • Stage 7 — World Tree    Either exceptional or alarming.

// Visual Chronicle

In Action


// Adventurer's Field Guide

Tips & Manual


# Questline is a TUI — it runs entirely in your terminal.
# You navigate with the keyboard. There is no mouse support.
# This is a feature, not an oversight. The mouse breeds dependency.

$ questline     # launch the application

Global Navigation

  • 1DDashboard — overview, stats, daily quests
  • 2PProjects — your quest board
  • 3HCharacter — level, XP, class, achievements
  • 4LLibrary — lore, memory fragments, bestiary
  • 5MSoundscapes — ambient audio
  • 6SSync — identity, devices, cloud settings
  • 7FFellowship — companions, shared projects
  • 8GThe Great Chronicle — realm activity, chapter objectives
  • QQuit — the Chronicle saves automatically

Project Workspace

  • EnterOpen selected project
  • ← →Toggle sidebar / content focus
  • ↑ ↓Navigate sidebar tabs when focused
  • 1Tasks tab
  • 2Notes tab
  • 3Journal tab
  • 4Overview & Milestones tab
  • NNew item (task / note / entry / milestone)
  • SpaceToggle task completion
  • EscBack to project list

Focus Sessions

  • EnterStart / pause session
  • SStop session early
  • ↑ ↓Select duration (15/25/45/60/90/Custom)
  • MSwitch soundscape mid-session
  • Sessions grant XP, water the Zen Tree, and track towards Daily Adventures. Abandoning mid-session grants partial XP.

Tips from the Field

  • Complete Daily Adventures every day — they are small on purpose and their cumulative effect is not.
  • The streak counter tracks calendar days. Midnight is the cutoff. The Deadline Wraith is punctual even when you are not.
  • Journal entries in shared projects display your username. Write accordingly. The Chronicle is public to your fellowship.
  • Rituals are reusable tasks. Use them for recurring work — they grant XP every time and keep the system from becoming a monument to past productivity.
  • Milestone templates require minimum project age and activity. Creating and immediately completing them does not work. The system was tested.
  • Back up your data from the Sync screen. The Chronicle records everything — losing it is permanent and unironic.
  • The Lore Library unlocks content as you progress. Locked entries say "RECORD LOCKED." They mean it.

// Project Milestone Tiers

Tier I — Initiate (250 XP)

Entry-level milestones: a few completed tasks, one or two journal entries, minimum project age, and a couple of focus sessions. For those who showed up and did the work. The bar exists. You found it.

Tier II — Veteran (500 XP)

Mid-tier milestones requiring sustained effort: double-digit task counts, active days across multiple sessions, maintained streaks. For those who returned the next day, and treated it as a habit rather than an event.

Tier III — Legendary (1000 XP)

Long-form achievement requiring hundreds of tasks, months of active work, significant journal commitment, and streaks that outlast most personal projects. For those who are either genuinely exceptional or have confused discipline for identity. Both groups qualify.

// Cryptographic Identity System

Your Identity Key


Questline does not use passwords. It does not use accounts. It does not send you a welcome email with a temporary link that expires in 24 hours. Instead, it generates a unique Ed25519 cryptographic keypair on first launch and uses it to sign every request to the sync server. Your private key never leaves your machine. Your public key is your identity in the realm.

This is not an SSH key — although Ed25519 is the same algorithm SSH uses, because the field has had decades to agree on the right answer. It is Questline's own identity system, stored independently of your SSH configuration, and it requires nothing from you except launching the app. The key is generated automatically. There is no command to run. There is no setup wizard. There is no confirmation email. It simply happens.

# What Questline generates on first launch

  Algorithm .... Ed25519
  Private key .. Linux   : ~/.config/questline/identity.key
               macOS   : ~/Library/Application Support/questline/identity.key
               Windows : %APPDATA%\questline\identity.key
  Public key ... displayed in the Sync screen  ← this is your identity in the realm

  Key format ... hex-encoded, 64 characters (32 bytes)
  Generated .... automatically on first launch
  Required action from you: none

I Have Never Launched Questline

Launch the app. That is it. Questline detects the absence of an identity file and generates a fresh Ed25519 keypair automatically. By the time you finish the onboarding screen, your identity exists, your public key is ready, and you have technically performed cryptography without trying.

I Have Already Launched Questline

Your identity was created on first launch and saved to:

Linux   : ~/.config/questline/identity.key
macOS   : ~/Library/Application Support/questline/identity.key
Windows: %APPDATA%\questline\identity.key

Open the Sync screen inside the app (S from the main menu or via the sidebar) to view and copy your public key — it is the 64-character hex string listed under Identity.

Sharing Your Public Key

Your public key is what other users need to invite you to a shared project. In the Sync screen, your public key is displayed and can be copied to clipboard. Share the 64-character hex string with your companion. It is safe to share. That is the entire point of a public key. The private half stays local and is never transmitted anywhere.

Inviting Someone to Fellowship

Ask your companion for their public key — they find it in their Sync screen. Open the Fellowship screen in Questline, press I to invite, paste their 64-character public key, select the project and role, and confirm. They accept on their device. The project syncs between both identities via the server from that point forward.

Working Across Devices

Questline is designed to follow you. The same character, the same Chronicle, the same projects — on Linux, macOS, and Windows, at the same time if needed. The sync engine pushes your tasks, notes, projects, journal entries, and character profile to the server automatically every few minutes. Your identity is tied to a cryptographic keypair — whoever holds that key is you to the server.

Moving to a new machine is now built into the app. On your old device press E on the Sync screen to export a Transfer Code. On the new device press I and paste it. The app backs up your database automatically at both ends, restores your identity, and pulls your full Chronicle from the server. No file managers, no terminal, no paths to remember.

Sync keeps things current day-to-day. The cloud backup (B on the Sync screen) is a full snapshot you push deliberately — useful before wiping a machine or as an extra safety net. Do both. They serve different purposes and cost almost nothing.

// First-Time Sync Setup

If you want cloud sync and backup across devices, follow these steps after installing.

Enabling Cloud Sync

  • 1Launch Questline. Complete the onboarding (choose your class, set your name). Your identity keypair is generated silently in the background.
  • 2Open the Sync screen. Your User ID and public key are displayed. No further action is needed to generate them — they already exist.
  • 3Enter the sync server URL and enable sync. Questline registers your public key with the server automatically on the next sync operation.
  • 4Press B in the Sync screen to push your first backup to the cloud. From now on, sync runs when you press S on the Dashboard.

Moving to a New Machine

  • 1Old machine: Open the Sync screen. Press S to push the latest sync data, then B to push a full cloud backup. This ensures nothing is missing on the server.
  • 2Old machine: Press E on the Sync screen — Export Profile. Questline creates a timestamped local database backup and displays a Transfer Code. Press C inside the modal to copy it to your clipboard.
  • 3New machine: Install Questline and complete onboarding. Then open the Sync screen, set the server URL, and press IRestore Identity. Paste the Transfer Code and press Enter. Your current database is backed up first, then your identity is replaced and a full sync starts automatically.
  • 4Questline pulls your Chronicle, character, tasks, notes, and shared projects from the server. Your identity on both machines is now identical — the server sees them as the same user.
# Transferring your identity to a new machine — built into the Sync screen

# ── Old machine ────────────────────────────────────────────────────────────
  [S]  Sync screen → push latest data to server
  [B]  Push a full cloud backup
  [E]  Export Profile → Questline backs up your local DB and shows a Transfer Code
  [C]  Copy Transfer Code to clipboard (inside the Export modal)

# ── New machine ────────────────────────────────────────────────────────────
  Install Questline and complete onboarding
  Open Sync screen → set server URL → [S] to register
  [I]  Restore Identity → paste Transfer Code → [Enter]

# Questline backs up the current DB, writes the new identity.key,
# triggers a full sync, and reloads your Chronicle automatically.
# Works across any OS combination — Linux, macOS, Windows.

// If Your Identity File Is Lost or Deleted

# If identity.key was deleted or the config directory was wiped:

  Questline will generate a NEW keypair on the next launch.
  Your local database (tasks, notes, journal) remains intact.

  However:
    ✗  Your new public key will NOT match your previous identity
    ✗  Fellowship invitations tied to the old key must be re-sent
    ✗  Cloud sync registration is lost — you must re-register
    ✗  Companions must invite the new identity to shared projects

# Prevention: back up the file. It is 300 bytes.
# There is no excuse. The Chronicle is unforgiving on this matter.

Back Up Your Identity

Your cryptographic identity is the only thing that cannot be regenerated from your data. Your tasks, notes, journal entries, and Chronicle can all be restored from a cloud backup. Your signing key cannot be recovered if lost — the sync server has never heard of you by any other name.

The easiest way to back it up is E on the Sync screen. Questline generates a Transfer Code you can store in a password manager or note. That code is all you need to restore your identity on any machine at any time. Keep it somewhere deliberate — before you need it, not after. The backlog will still be there when you return. Your identity may not be.

// Installation


Install Questline

One Command

Run the installer. It detects your OS and architecture, downloads the binary, and sets up your config directory. No package manager required.

// Linux & macOS

$ curl -fsSL https://raw.githubusercontent.com/gibranlp/Questline-cli/main/server/install.sh | bash

// Windows (PowerShell)

PS> irm https://raw.githubusercontent.com/gibranlp/Questline-cli/main/server/install.ps1 | iex

Re-running the installer updates to the latest version.
Your data and identity file are never touched by the installer.

Linux x86_64 Linux ARM64 macOS x86_64 macOS ARM64 Windows x86_64

// Join the Realm

Join the Discord Server

Piping a script from a stranger's GitHub into your shell? Bold choice.
The source is public. You could read it before running it. Most people don't. The backlog is still there either way.
github.com/gibranlp/Questline-cli

// The Chronicle — Patch Notes

The Realm Expands


The realm has always existed. It simply did not have a proper name on the world map.

Adventurers who survived Chapter One know the truth: the Notification Swarm was only the beginning. A realm this large — with heroes across timezones completing quests, tending Zen Trees, and writing scrolls at unreasonable hours — deserved an address that could be taken seriously. questlinecli.com is that address. The Chronicle has been updated accordingly. The backlog has not shrunk. But at least it now has a proper domain.

v1.0.7 — The Realm Has a Proper Address 2026-07-01
# Chronicle Entry — The Naming of the Realm

  For a time, the realm existed at an address borrowed from the land
  of its creator. A temporary dwelling. A camp, not a keep.

  The adventurers came anyway. They completed quests.
  They watered their trees. They wrote scrolls into the night.
  They did not complain about the address. The backlog was already
  doing that for them.

  The realm now has a name of its own: questlinecli.com

  The server is the same. The database is intact. The Chronicle
  has lost nothing. The Zen Trees did not notice. The Zen Trees
  rarely notice anything that does not involve consistency.

  Existing adventurers: update your sync URL to
  https://questlinecli.com/api via the Sync screen.
  New adventurers: it is already set. You arrived at the right time.
  You are welcome.

// Changes in this version
  ✓  Domain migrated from questline.gibranlp.dev → questlinecli.com
  ✓  Default sync server URL updated in all new installations
  ✓  The Chronicle is intact. Not a single entry was lost in transit.
  –  The backlog. Still there. Doing pushups. Waiting.
v1.0.6 — The Sync Engine Overhaul
  ✓  WAL mode enabled — no more database locking under concurrent access
  ✓  Delete tombstones — deletions now propagate correctly across devices
  ✓  Task updated_at — edits sync properly; no more phantom conflicts
  ✓  Focus session sync — sessions counted on the right device
  ✓  Journal entry updates — edits no longer silently discarded
  ✓  Device ID filter — devices no longer receive their own changes back
  ✓  Sequence cursor — incremental sync now resumes from the correct position
  ✓  Daily cleanup — stale sync state no longer accumulates over time

Full release history → github.com/gibranlp/Questline-cli/releases

// Keep the Chronicle Alive

Support Questline


Questline is independent, open-source, and free of tracking or ads. The sync server, Fellowship collaboration network, and updates are entirely funded by community support. If Questline helps you defeat the Great Backlog or build daily consistency, consider keeping the developer caffeinated.

Ko-Fi

Support development directly. Buy a coffee, fund new soundscapes, or chip in for server costs. Every drop helps.

Support on Ko-Fi

GitHub Sponsors

Become a recurring sponsor or give a one-time contribution. Help shape the future of Questline's development.

Sponsor on GitHub
Keep the Chronicle Alive