Skip to content
mahirozdinPublic

About

Open-source, self-hosted productivity hub: tasks, projects, notes, urgent reminders and two-way Google/Apple Calendar sync. Cross-platform Flutter app (iOS, Android, Web, macOS, Windows, Linux) + Node.js/MySQL backend. Alternative to Todoist, TickTick and Apple Reminders.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

22 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

692 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

AllisWell logo β€” a white checkmark on a blue-to-indigo glass tile

AllisWell

A source-available to-do, reminder and notes app you can host on your own server β€” with alarms that ring through Silent mode and tasks that live in your Google Calendar, both ways.

Check it in two minutes: make a task repeat monthly on the 31st. Google Calendar skips February; AllisWell puts it on the 28th, and shows you the next five dates before you save. (How)

AllisWell Home on the web: overdue and today groups with project badges and tag chips, a month calendar, and a personal quick-access rail in the sidebar

🌐 Open the web app Β Β·Β  πŸ€– Google Play Β Β·Β  🍎 App Store Β Β·Β  🐳 Self-host in one command Β Β·Β  🧠 Add to Claude or ChatGPT (MCP)

One Flutter codebase for iOS, Android, the web, macOS, Windows and Linux Β· moving from Todoist or TickTick Β· how it compares, honestly

CI Stars Licence: PolyForm Noncommercial Free for personal use Self-hosted Works with Claude & ChatGPT


πŸš€ Get it

Status
🌐 Web app Live now alliswell.space/app β€” sign up and use it on every device. Nothing to install.
πŸ€– Google Play Live now Get it on Google Play β€” the Android app, on the store.
🍎 App Store Live now Download on the App Store β€” the iPhone app, on the store.
🐳 Self-host Live now One docker compose up β€” guide below.
πŸ’» Windows Β· Linux Download Windows (.zip) Β· Linux (.tar.gz) β€” attached to every release. Unsigned: SmartScreen asks once (More info β€Ί Run anyway). macOS builds from source.
🧠 Claude / ChatGPT Live now MCP connector at https://api.alliswell.space/mcp β€” setup below.

Desktop downloads. Unzip (Windows 10/11, 64-bit) or extract (Linux, 64-bit) and run alliswell.exe / ./alliswell β€” nothing to install. On Linux the app needs GTK 3, libsecret with a running keyring (GNOME Keyring or KWallet, where your session is stored) and GStreamer for the alarm sound; on Debian/Ubuntu that is libgtk-3-0 libsecret-1-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good. The app talks to alliswell.space by default; point it at your own server from the sign-in screen.

Project status β€” v1.18.0, live. Everything on this page is built, tested (1,200+ app tests Β· 700+ backend unit Β· 70+ integration, green) and deployed to alliswell.space. Track what's next in ROADMAP.md and docs/STATE.md. ⭐ Star the repo to follow along.


🧠 Use it from Claude or ChatGPT (MCP)

AllisWell is a remote MCP server. Add it to the Claude or ChatGPT account you already pay for, sign in once, and ask about your day from inside the assistant.

You use… Connector URL
alliswell.space https://api.alliswell.space/mcp
Your own server <API_PUBLIC_URL>/mcp, e.g. https://api.your-domain.example/mcp

The URL is on the API host β€” alliswell.space/mcp is the website.

  • Claude (Free / Pro / Max): Settings β†’ Connectors β†’ Add custom connector β†’ paste the URL β†’ Connect β†’ sign in with your AllisWell email and password.
  • Claude Team / Enterprise: an Owner adds it once under Organization settings β†’ Connectors (any OAuth option works, no client ID or secret); each member presses Connect under Settings β†’ Connectors.
  • ChatGPT (Plus / Pro / Business): Settings β†’ Apps & Connectors β†’ Advanced settings β†’ Developer mode β†’ create a connector with the URL.
  • Claude Code: claude mcp add --transport http alliswell https://api.alliswell.space/mcp

Twenty-five tools over tasks, checklists, reminders, notes, projects, tags and search. Every write asks for your approval, every AI change is logged, and there is no delete tool. OAuth 2.1 with PKCE; dynamic client registration and client ID metadata documents are both supported. Full guide, tool list and troubleshooting: alliswell.space/docs/mcp (docs/MCP.md).


⚑ The five things that make it different

Everything else here is table stakes. These five are why people move β€” and each one is something the alternatives either cannot do or make you leave the app for.

1. Tasks and projects that actually belong together

A task is not a line in a list. It belongs to a project, carries its own description, tags, checklists, colour and attachments, and shows up wherever that project does β€” the project's Overview, its Files tab, its own board column. The project badge follows the task everywhere, so "what is this for?" never needs a second click.

2. Notes with a real markdown workspace

Not a text box that happens to accept #. AllisWell renders GitHub-flavoured markdown properly β€” tables with their alignment, task lists, footnotes, callouts, real mathematics, syntax-coloured code with a copy button, and Mermaid diagrams drawn as diagrams, with no browser engine involved.

You get three ways to look at one document: Reading, the rich editor, and the markdown source β€” with a live preview beside it on a wide screen. Lists continue themselves, /table-style commands work everywhere, ⌘K opens a command palette, and an outline of every heading follows you as you scroll.

And it is not limited to notes that were born here: open a .md file from your own computer, edit it, and save it back to that file. The document is permanently marked as external, it is never autosaved behind your back, and if something else changed it while you were editing you are asked what happens to your version β€” reload, save a copy, or overwrite. If AllisWell cannot write the file safely, it says so and does not offer to.

3. Alarms, not notifications

A reminder that arrives with a chime is a suggestion. AllisWell's urgent tasks ring with a real alarm sound, through Silent mode and through Focus (iOS 26 AlarmKit; Android's USAGE_ALARM insistent channel), keep re-alerting until you acknowledge them, and offer snooze presets that each tell you the exact time they will ring again. When the OS gets in the way β€” a battery manager, a revoked permission β€” the app writes a log entry explaining itself, so "it didn't ring" is a question with an answer.


4. Every file where the work is

The photo of the whiteboard, the contract PDF, the screenshot β€” they live with the task or the project they belong to, not in a chat scroll or a downloads folder. Attach from Photos, the camera, or Files; images open in a real pinch-and-zoom viewer with a swipe between the others; and everything in a project is listed in its Files tab, in folders you control.

5. Recurrence that doesn't lie

Ask for the 31st and RFC 5545 β€” which is what Google Calendar follows β€” simply skips every month without one. Your rent does not skip February.

Rule: every month on day 31 Google Calendar AllisWell
December 31 Dec 31 Dec
January 31 Jan 31 Jan
February β€” skipped β€” 28 Feb
March 31 Mar 31 Mar
April β€” skipped β€” 30 Apr

Also: every day / weekday / week / month / year, the last day of the month, the 2nd Tuesday, the first Monday after the 22nd β€” with a live "next 5" preview before you commit, twelve rolling months of real task rows (so they show up in search, the calendar and the widget), and an "edit this / this and future / all" prompt when you change one.

Task detail: Urgent alarm on, Repeat on with the sentence Every month on day 31, and a due date of 30 September β€” the clamp in action Β  The Repeat dialog with a Next 5 preview listing the exact upcoming dates

πŸ“¦ Switch from Todoist or TickTick

Bring your tasks with you: Settings β€Ί Data β€Ί Import.

  1. Export from the app you are leaving. Todoist: Settings β€Ί Backups (a ZIP), or a project's menu β€Ί Export as CSV. TickTick: on the web, Settings β€Ί Backup & Import β€Ί Generate backup.
  2. Choose the file. The wizard shows what will come in before anything is written: how many tasks, repeating tasks, sub-items, projects and tags, and every item it could not carry over exactly.
  3. Import. Run the same file again later and nothing is duplicated: what is already here is skipped, and a task you deleted stays deleted.

What maps to what: projects and lists β†’ projects, labels, sections and columns β†’ tags, sub-tasks β†’ checklist items, priorities p1–p4 β†’ high / medium / low / none, due dates with their time and time zone, repeats β†’ AllisWell repeats where the rule is exact (anything else stays in the task's description with a note), comments β†’ the description. Completed tasks are optional (TickTick; Todoist's exports leave them out). Imported tasks never ring as urgent alarms. The same import is one API call (docs/API.md).

Apple Reminders has no export file, so there is no importer for it.

The import wizard's preview step: counts of tasks, repeating tasks, sub-items as checklist items, notes, new and existing projects, tags and already imported items, and the priority mapping P1 to P4

πŸ“Έ What it looks like

AllisWell Board view: Open, In progress, Waiting and Completed columns with drag-to-move cards AllisWell Notes: pinned notes, project links and a READMEs filter
Board β€” the same day as a kanban, with columns you name, hide and reorder Notes β€” Markdown documents, pinned, linked to a project, exportable
AllisWell Files section with nestable folders and uploaded documents Settings, Completed: a day-headed timeline of finished tasks grouped by Today, Yesterday and earlier dates
Files β€” folders + every attachment, in your own R2/S3 bucket Completed β€” an infinite, day-headed timeline. Nothing vanishes mid-tap

On the phone β€” the same local-first app, from one Flutter codebase:

AllisWell Home on iPhone Β  AllisWell Home on iPhone in dark mode Β  AllisWell Home on Android Β  AllisWell's full-screen urgent reminder on Android: an Acknowledge button and snooze presets that each say the exact time they will ring again Β  The AllisWell widget on the iPhone Home Screen: the date and the live system clock in the header, today's open count beneath it, then overdue, undated and today's tasks

iPhone 17 Pro Max Β· Pixel 9 Pro XL Β· light, dark, an alarm actually going off, and the Home Screen widget with a clock that really ticks Β· every one a real capture from a running app, not a mock-up.
How they are produced: docs/SCREENSHOTS.md


🧩 Widgets

The AllisWell widget on the iPhone Home Screen in light mode: the date and a live clock in the header, today's open count beneath it, then overdue, undated and today's tasks Β  The same widget in dark mode

The widget is Home, at a glance β€” the same buckets (overdue Β· no date Β· today Β· this week Β· this month), worked out by the app and drawn natively, so it never disagrees with the list you open.

  • Tap the circle, the task is done β€” without opening the app (iPhone and iPad on iOS 17+, Android; the Mac on macOS 14+ once its widget target is signed β€” below). It is an ordinary completion: it works offline and syncs like any other.
  • "+" opens the app on the new-task sheet, the day already filled in.
  • One widget per project, if you like β€” each widget can show everything or a single project (edit the widget on Apple platforms; long-press β†’ reconfigure on Android).
  • The lock screen (iPhone): the next task and when it is due, and how many tasks today still holds.
  • A clock that really ticks in the header, in the date format you chose in the app.
  • Private widget and Compact widget in Settings β€Ί General β€Ί Widget. Private shows "Private task" instead of every title β€” and the titles are never written for the widget at all, so they do not leave the app.
  • Sizes: medium and large on iPhone, extra large on iPad and Mac, and a freely resizable widget on Android, which also turns the day over at midnight on its own.

Self-hosting? Widgets need nothing from your server: the app writes a small snapshot for them from its local copy of your data, so every instance gets them as they are. If you build and sign the app yourself under your own identifiers, the iOS app and its widget extension must share one App Group (group.com.alliswell.alliswell here β€” change it in both entitlements and in widget_host.dart together); Android needs nothing; the macOS widget target is added by a script and signed once in Xcode (SETUP.md). The whole design, with the traps we measured on the way: docs/WIDGETS.md.


✨ Every feature β€” click to expand

  • ⚑ Fast capture β€” a task in seconds, with or without a date; a dedicated Inbox keeps unplanned thoughts out of your day until you're ready. Plus press-and-hold to talk, share any text or link into the app, and natural-language quick add, offline, in Turkish and English β€” "tomorrow 9am pay rent #home p1" becomes a dated, tagged task, with the recognized words shown as chips you can undo (the optional ✨ AI parse still splits a sentence into several tasks).
  • 🏠 Home, your way β€” one chronological view (overdue Β· today Β· this week Β· next 30 days) with an Apple-style month calendar, or flip to a Board (kanban) with your own hideable, reorderable status columns and drag-to-move.
  • πŸ—‚ Projects β€” colours, favourites, archiving, a Notion-style README note as the overview, and per-project Tasks / Notes / Files tabs.
  • 🏷 Tags & priorities β€” type #tags inline (auto-create, colours, fold-matched suggestions) and set none β†’ urgent priority. Checklists inside a task.
  • πŸ”” Alarm-grade reminders β€” exact-minute delivery, urgent alarms through Silent mode & Focus, a re-alert-until-acknowledged chain you can tune, snooze presets (5 m / 30 m / 1 h / tomorrow / custom) that each say when they'll ring, mute one task's alarms without completing it, your own ringtone, an alarm log, and a privacy mode that hides task content on the lock screen.
  • πŸ” Recurring tasks that survive a short month β€” see Β§5 above.
  • πŸ”Ž Instant search β€” case- and accent-insensitive across the Latin alphabets ("muller" finds MΓΌller, "cafe" finds cafΓ©), ranked title β†’ tag β†’ body, running locally over the on-device replica, so it works offline. The folding is the app's own, so results never depend on your database's collation.
  • πŸ“ Notes & documents β€” Markdown notes with live syntax while you type, a real GFM reading view (tables, task lists, footnotes, KaTeX, Mermaid), inline images, links to tasks and projects, pin/archive, card grid or list, and .md / PDF export. The engine is our own markdown_forge package (MIT) β€” extracted so any Flutter app can use it.
  • πŸ“… Calendar sync β€” two-way with Google Calendar: your tasks become events, edits in Google come back, and your Google events show up on Home. On iPhone and Mac, tasks are also mirrored into Apple Calendar (one-way for now). Every task is on the calendar, and it is not a setting.
  • πŸ“Ž Attachments & Files β€” attach any file to tasks, notes and projects, plus a global Files section with nestable folders β€” stored in Cloudflare R2 / any S3 via presigned URLs (the API never proxies your bytes).
  • πŸ”„ Local-first realtime sync β€” offline by default: a mutation outbox, a revision log, idempotent push with field-level last-write-wins, and a Socket.IO channel that fans changes to every device within a round-trip.
  • βœ… Finish things visibly β€” a completed task stays on today's list, struck through and calm, until the next midnight; everything older lives in Settings β–Έ Completed, a day-headed timeline you can scroll back through.
  • πŸ—‘ Delete like you expect β€” swipe a row from the right, it half-opens, and the red Delete is what deletes. Tasks, notes, projects and files, with an Undo that works by not having written anything yet.
  • ⚑ Quick access β€” a personal shortcut list for the projects, tasks, notes, folders, files and links you actually live in, with your own emoji, colour and order. A sidebar section on desktop and web, a popover on narrow windows, and a draggable floating button on phones. Yours alone: shortcuts never leak to other members of a shared workspace.
  • πŸ€– AI, on your terms (optional) β€” use it from the Claude or ChatGPT you already pay for (MCP, above), or bring your own key in the app: Anthropic, OpenAI, Gemini, OpenRouter or a local Ollama. Off by default; every proposed task waits for your tap.
  • πŸ–₯ Home-screen widgets β€” iPhone, iPad, Android and (one signing step away) Mac widgets that mirror your Home buckets, carry the system clock and how many tasks today actually holds in the header, complete a task with one tap, follow one project if you want them to, and sit on the iPhone lock screen β€” see Widgets.
  • πŸ”‘ Sign in the way you already do β€” e-mail and password, Continue with Google, or Continue with Apple. The provider proves who you are; AllisWell's own database still owns the account, so a self-hosted instance works the same way β€” or drops social sign-in entirely and keeps passwords. How it works β†’
  • 🌐 Localisation β€” ships in English and Turkish, auto-detected from your system; adding a language is dropping in one JSON file.
  • πŸ”“ Self-hosted & private β€” your MySQL, your server, one docker compose up. Free for personal use (licence).

πŸ’‘ Why AllisWell β€” and where it isn't better

The tools we love, we can't fully own. AllisWell takes their best ideas and adds what none of these give you: the source in the open, self-hosting you actually own, true two-way Google Calendar sync, and a local-first realtime engine.

AllisWell Google Calendar Google Tasks Apple Reminders Things 3
Source available ● β—‹ β—‹ β—‹ β—‹
Self-hosted, your database ● β—‹ β—‹ β—‹ β—‹
Price free free free free ~$80
iOS Β· Android Β· Web Β· desktop ● ◐ ◐ β—‹ β—‹
Works fully offline ● ◐ ◐ ● ●
Kanban board ● β—‹ β—‹ ◐ β—‹
Rich notes & file attachments ● ◐ β—‹ ◐ β—‹
Alarms through Silent + Focus ● β—‹ β—‹ ◐ β—‹
Re-alert until acknowledged ● β—‹ β—‹ β—‹ β—‹
Recurrence clamps (31st β†’ 28 Feb) ● β—‹ β—‹ ● ●
Two-way Google Calendar sync ● native native β—‹ β—‹
Accent-insensitive search ● β—‹ β—‹ β—‹ β—‹
MCP connector for Claude / ChatGPT ● β—‹ β—‹ β—‹ β—‹

● full Β· ◐ partial Β· β—‹ none. Competitor behaviour as of mid-2026.

Where they beat us β€” honestly. Apple Reminders has location-based and messaging-based reminders we simply don't have. Google and Apple Calendar do invitations, RSVPs and free/busy; we mirror to your calendar and let it do that. Todoist and Apple Reminders have real collaboration β€” assignees, comments, shared lists β€” where our workspace model exists but the sharing UI does not. Things 3 has had ten years to sand its corners; we are a young product. And self-hosting is work: a managed app has no docker compose, no TLS certificate and no backups to think about.

Already self-hosting? Then Vikunja, Super Productivity, Tasks.org and Nextcloud Tasks are the real alternatives, and some of them beat us β€” sharing, tasks over CalDAV, a public demo, more importers (we read Todoist and TickTick), years of maturity. The side-by-side, checked against their own docs, is in docs/COMPARISON.md Β§7.

The full analysis β€” every claim above, the things they do better, and the lines we deliberately did not write β€” is in docs/COMPARISON.md.


🐳 Self-hosting: your server, your data

Two published images β€” the API and the web app β€” for linux/amd64 and linux/arm64, tagged on every release:

curl -O https://raw.githubusercontent.com/mahirozdin/alliswell/main/docker-compose.selfhost.yml
curl -o .env https://raw.githubusercontent.com/mahirozdin/alliswell/main/.env.selfhost.example

echo "JWT_ACCESS_SECRET=$(openssl rand -hex 32)"  >> .env
echo "JWT_REFRESH_SECRET=$(openssl rand -hex 32)" >> .env
nano .env   # your domains + database passwords

docker compose -f docker-compose.selfhost.yml up -d

The API creates and migrates its own schema on start, so an upgrade is just pull + up -d β€” your data lives in named volumes and is never touched. The web image reads your API address at container start, so one prebuilt image serves any domain without rebuilding Flutter.

Full guide β€” TLS/reverse proxy, upgrades & backups, Cloudflare R2 attachments, Google Calendar, troubleshooting: docs/SELF-HOSTING.md.


πŸ— Architecture

Flutter App (iOS / Android / macOS / Windows / Linux / Web)
      β”‚  REST + WebSocket (Socket.IO)   Β·   offline-first local SQLite replica
      β–Ό
Node.js API β€” Fastify, JavaScript only (no TypeScript)
  β”œβ”€ Auth (JWT + refresh rotation)     β”œβ”€ Sync engine (revision log, outbox)
  β”œβ”€ Projects / Tasks / Tags           β”œβ”€ Reminder scheduler
  β”œβ”€ Notes / Files (presigned R2/S3)   β”œβ”€ Calendar sync workers (BullMQ)
  β”œβ”€ Recurrence engine (task_series)   β”œβ”€ Remote MCP server (OAuth 2.1)
  └─ Search (accent folding)           └─ AI providers (BYOK, 5 adapters)
      β”‚
      β”œβ”€ MySQL 8.4 / MariaDB 10.11+  (canonical data)
      β”œβ”€ Redis 8    (queues, Socket.IO fan-out, cache)
      β”œβ”€ Object storage: Cloudflare R2 / any S3 (attachments)
      └─ Calendar providers: Google Calendar API Β· Apple EventKit Β· CalDAV (iCloud, Nextcloud…)

The monorepo:

Path What it is
apps/api Fastify backend β€” JavaScript only, MySQL via knex
apps/app The Flutter app β€” all six platforms, one codebase
apps/landing This site β€” Vue 3 + Vite, served at the root of alliswell.space
scripts/seed-demo.mjs The demo workspace every screenshot is shot from
scripts/screenshots/ Screenshot + store-asset pipeline

Details: docs/ARCHITECTURE.md β€’ Design decisions: docs/adr/

πŸš€ Quickstart (development)

Prerequisites: Node.js β‰₯ 22, Docker, Flutter β‰₯ 3.44 (for the app).

git clone https://github.com/mahirozdin/alliswell.git
cd alliswell

# 1. Infra: MySQL + Redis (+ MinIO for attachments)
cp .env.example .env
docker compose up -d mysql redis

# 2. API
npm install
npm run db:migrate
npm run dev              # β†’ http://localhost:3000  (health: /health/ready)

# 3. Flutter app
cd apps/app
flutter pub get
flutter run -d chrome    # or: macos / windows / an emulator

Want the app full of realistic data in one command?

npm run seed:demo        # demo@alliswell.space / AllisWellDemo2026

Run everything in containers instead: docker compose --profile full up. Optional DB admin UI: docker compose --profile tools up -d adminer β†’ http://localhost:8080.

Optional integrations (all off until configured, see .env.example): Google Calendar (GOOGLE_*), file attachments via Cloudflare R2 / any S3 (STORAGE_S3_*), and AI (AI_* β€” off by default; see docs/AI.md).

Useful commands

Command What it does
npm run dev Start API with watch mode
npm test API unit tests (no infra needed)
npm run test:integration API integration tests (needs MySQL+Redis)
npm run seed:demo Fill a running instance with the demo workspace
npm run shots:web Regenerate the web screenshots
npm run landing:dev Run the marketing site locally
npm run lint / npm run format ESLint / Prettier
npm run db:migrate / db:rollback Knex migrations
npm run check:no-ts Enforce the JavaScript-only policy
npm run check:i18n Enforce no hardcoded UI strings (localisation)
npm run next Print the next task from docs/TASKS.md
npm run verify:task -- <tests> The narrow check for the change in hand (K1)
npm run verify:batch Everything CI checks, once, before a push (K2)

πŸ“š Documentation

Doc Purpose
docs/COMPARISON.md Full feature inventory + honest comparison with Google, Apple, Things 3 and the self-hosted alternatives (Vikunja, Super Productivity, Tasks.org, Nextcloud Tasks)
docs/BLUEPRINT.md Product vision, domain model, full functional spec (TR)
docs/ARCHITECTURE.md System architecture, stack, sync & calendar design
docs/SELF-HOSTING.md Run your own instance with Docker: TLS, upgrades, backups, storage
docs/AI.md Β· docs/MCP.md AI providers & consent Β· the remote MCP connector
docs/API.md Β· live The REST API & personal API keys: every endpoint with examples, plus a Postman collection
docs/FIREBASE.md Analytics, Crashlytics, Performance β€” optional, and how to point them at your project
docs/ATTACHMENTS.md File attachments: R2/S3 storage, presigned flow, CORS setup
docs/MARKDOWN.md The markdown workspace: field survey, feature scope, document model
docs/NOTIFICATIONS.md Exact-time / urgent alarm delivery research & plan
docs/WIDGETS.md Home-screen widget architecture
docs/SCREENSHOTS.md How every image in this repo is produced
docs/STORE-LISTING.md App Store & Play copy, asset sizes, claim guardrails
ROADMAP.md Phase-by-phase roadmap: shipped, next, and v2 parking lot
docs/TASKS.md Β· docs/STATE.md Open OPH-xxx tasks Β· live development state
CHANGELOG.md What changed, per release
docs/adr/ Architecture Decision Records
AGENTS.md Β· CONTRIBUTING.md Β· SECURITY.md Workflow, contributing & security policy

πŸ€– Built to be developed by AI agents

This repository is designed for continuous development by AI coding agents:

  1. npm run next prints the next task (docs/STATE.md names it too).
  2. Say "do the next task" (Turkish: "sıradaki işi yap").
  3. The agent follows AGENTS.md: implement β†’ its own tests (verify:task) β†’ update docs β†’ remove the finished task from docs/TASKS.md β†’ update STATE β†’ commit; the full set (verify:batch) runs once before a push.
  4. For a run of many tasks, a phase workflow takes a whole epic (docs/development/workflow.md): a fresh agent per task, then the full set, a smoke run and a review once at the end.

The markdown files (STATE / TASKS / CHANGELOG) are the single source of truth β€” no external board required.


🏒 Enterprise edition

Everything above is the free edition, and it is built for one person's work. AllisWell Enterprise is a separate, commercially licensed edition for organisations where work is filed between departments rather than kept on one list:

  • Teams on their own subdomains β€” one instance, several organisations, isolated on the server rather than in the interface.
  • Permissions and units β€” named permissions that roles are assembled from, and a unit per department, workshop or site, with explicit sharing between them.
  • A service desk β€” a service catalogue routed to units, tickets that stay distinct from tasks, SLA targets that run on a shift-aware business calendar, and health checks that open an incident when a service goes down.
  • A public request portal β€” a request form at a public URL, with expiry, revocation and quotas, for the people who should not have accounts.
  • Meeting recordings that become work β€” a speaker-separated note with the decisions pulled out, and a decision that turns into a ticket.

It runs in the cloud under your organisation's own address, or on your own servers exactly like the rest of AllisWell: your hardware, your database, no request leaving the building unless you decide it should.

β†’ What the Enterprise edition includes Β Β·Β  TΓΌrkΓ§e Β Β·Β  info@bubiapps.com

It does not change the free edition in either direction β€” this repository stays under PolyForm Noncommercial, and Enterprise is used under a separate written agreement. The section below is the rule for both.


βš–οΈ Licence & commercial use

AllisWell is free for you, and not free for your employer. That is the whole rule; everything below is detail.

The source is public and it always will be. You can read it, fork it, change it, and run your own instance on your own machine forever without paying anyone or asking anyone. What you cannot do is take it into a business β€” resell it, offer it as a service, or run it as part of a commercial operation.

You are… Free?
A person, using it for your own life βœ… Free
Self-hosting your own instance at home or on your own VPS βœ… Free
Studying it, forking it, submitting a fix, building on it as a hobby βœ… Free
A charity, school, university, public research body or government institution βœ… Free
A company running it for your team, at any size ❌ Needs a commercial licence
Reselling it, or offering it to others as a hosted service ❌ Needs a commercial licence

Enterprise, or anything commercial β†’ info@bubiapps.com. What the Enterprise edition actually adds is one section up, and in alliswell.space/enterprise; the licence terms are also in docs/ENTERPRISE.md. Commercial licences exist, they are not expensive, and they come with the self-hosting support the free tier does not.

Why this and not AGPL. AllisWell used to be AGPL-3.0, and AGPL would have let a competitor host the whole product commercially and comply merely by publishing their changes. This is a single-maintainer product whose revenue is the hosted service at alliswell.space and the app stores β€” so the licence now protects exactly that, and nothing else. The full reasoning, the alternatives that were weighed (FSL, Elastic License, AGPL + commercial exception), and the consequences are in ADR-0024.

Being straight about the label. PolyForm Noncommercial is source-available, not OSI "open source" β€” it discriminates against commercial use, which the Open Source Definition forbids. The repo used to say "open source" everywhere; it now says source-available, because the other word would be untrue.

If you already have v0.9.0 or earlier, you have it under AGPL-3.0 and you keep those rights for that copy. A licence granted cannot be taken back. These terms apply from v1.0.0.


🀝 Contributing & licence

Contributions are very welcome β€” read CONTRIBUTING.md and pick a task from docs/TASKS.md. Please open an issue before large changes.

Translations are especially welcome and need no Dart: copy apps/app/assets/i18n/en.json to <code>.json, translate the values, and register the locale β€” see CONTRIBUTING.md.

Licence: PolyForm Noncommercial 1.0.0 β€” see Licence & commercial use above. Contributions are accepted under the same terms.


⭐ Star this repo Β Β·Β  🌐 alliswell.space Β Β·Β  Open the app Β Β·Β  πŸ€– Google Play Β Β·Β  🍎 App Store

AllisWell β€” source-available self-hosted productivity hub Β· to-do & task manager Β· Todoist / Things 3 / TickTick / Apple Reminders / Notion alternative Β· two-way Google Calendar sync & Apple Calendar mirror Β· offline-first Β· Flutter (iOS, Android, Web, macOS, Windows, Linux) Β· Node.js + MySQL Β· self-hosted & private.

About

Open-source, self-hosted productivity hub: tasks, projects, notes, urgent reminders and two-way Google/Apple Calendar sync. Cross-platform Flutter app (iOS, Android, Web, macOS, Windows, Linux) + Node.js/MySQL backend. Alternative to Todoist, TickTick and Apple Reminders.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

22 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages