{"id":30235065,"url":"https://github.com/jamesread/wackytracky","last_synced_at":"2026-06-11T20:00:28.363Z","repository":{"id":14939737,"uuid":"17664280","full_name":"jamesread/WackyTracky","owner":"jamesread","description":"Track things.","archived":false,"fork":false,"pushed_at":"2026-06-08T00:17:39.000Z","size":2293,"stargazers_count":0,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-06-08T01:23:10.476Z","etag":null,"topics":["maturity-beta"],"latest_commit_sha":null,"homepage":"https://jamesread.github.io/WackyTracky/","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"znc/docs","license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jamesread.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2014-03-12T11:11:11.000Z","updated_at":"2026-06-08T00:16:12.000Z","dependencies_parsed_at":"2023-02-12T15:46:20.334Z","dependency_job_id":"c635aa0a-f7ef-4b76-8c35-5cb89d7d2dc9","html_url":"https://github.com/jamesread/WackyTracky","commit_stats":null,"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/jamesread/WackyTracky","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesread%2FWackyTracky","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesread%2FWackyTracky/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesread%2FWackyTracky/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesread%2FWackyTracky/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jamesread","download_url":"https://codeload.github.com/jamesread/WackyTracky/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesread%2FWackyTracky/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34215254,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-11T02:00:06.485Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["maturity-beta"],"created_at":"2025-08-15T00:19:20.623Z","updated_at":"2026-06-11T20:00:28.355Z","avatar_url":"https://github.com/jamesread.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align = \"center\"\u003e\n  \u003cimg alt = \"project logo\" src = \"var/logo.png\" width = \"128\" /\u003e\n  \u003ch1\u003eWackyTracky\u003c/h1\u003e\n\n  Task tracking that gives power users full control over how they work.\n\n  Web app, with desktop support that includes vim key bindings, and mobile support with offline+sync from a progressive web app (installable on your phone). The backend supports multiple database drivers, but the main focus is on the popular plain-text format [todo.txt](http://todotxt.org).\n\n[![Maturity](https://img.shields.io/badge/maturity-Beta-orange)](#misc)\n[![Discord](https://img.shields.io/discord/846737624960860180?label=Discord%20Server)](https://discord.gg/jhYWWpNJ3v)\n[![AI Autonomy Level](https://img.shields.io/badge/AI%20Autonomy-Level%203%20(semi--autonomous)-blue)](#misc)\n\n[Docs](https://jamesread.github.io/WackyTracky/) \u0026bull; [Docker Compose Install](#deploy-with-docker-compose) \u0026bull; [No Nonsense Software Principles](#no-nonsense-software-principles)\n\n\u003c/div\u003e\n\n![List view](var/marketing/screenshots/list-work.png)\n\n## Features \u0026 Benefits\n\n* **Flexible**: Use \"Getting Things Done\" or similar - flexible system for tags (#bob) and contexts (@home), and priorities (A-Z).\n* **Durable**: Given the app is open source and self-hosted, you can run it for years without worrying about the company going out of business or changing the product.\n* **Portable**: The project recommends the todotxt backend, which stores data in plain text files that can be easily moved, edited, and backed up. You can also switch to a different backend if needed.\n* **Powerful**: vim key bindings, git integration, REST/gRPC API.\n\n## Additional Screenshots\n\n**Task options** — Right‑click a task to open the details panel (due date, priority, notes, move to list, mark done).\n![Task options](var/marketing/screenshots/task-options.png)\n\n**TPPs** — Configure tags and contexts (labels, colors, order) in Options → TPPs.\n![Task property properties](var/marketing/screenshots/tpp.png)\n\n## Documentation\n\nFull documentation (MkDocs) is published to **GitHub Pages**: [https://jamesread.github.io/WackyTracky/](https://jamesread.github.io/WackyTracky/). The site is built from `docs/` and deployed automatically on push to `main` (see `.github/workflows/docs.yml`).\n\n## Deploy with Docker Compose\n\nContainer images are published to GitHub Container Registry. Quick reference to run with Docker Compose:\n\n```yaml\n# docker-compose.yml\nservices:\n  wackytracky:\n    image: ghcr.io/jamesread/wacky-tracky:latest\n    ports:\n      - \"8080:8080\"\n    volumes:\n      # Config: mount a file at /app/config.yaml or a directory at /config (with config.yaml inside)\n      - ./config.yaml:/app/config.yaml\n      # Persist todotxt data (set database.database in config to /app/data/todotxt or similar)\n      - todotxt-data:/app/data\n      # Persist SSH keys and other home-dir files for git push/pull (HOME=/home/wt)\n      - wt-home:/home/wt\nvolumes:\n  todotxt-data:\n  wt-home:\n```\n\nThen run: `docker compose up -d`. The web UI and API are served on port 8080 by default (adjust the image’s listen port in your config if needed). Place a `config.yaml` in the same directory as your `docker-compose.yml` if you mount it; see the [documentation](https://jamesread.github.io/WackyTracky/) for config options.\n\n## No-Nonsense Software Principles\n\nThis project follows these principles:\n\n* **Open Source \u0026 Free Software**: following the [Open Source Definition](https://opensource.org/osd) and the [Free Software Definition](https://www.gnu.org/philosophy/free-sw.html). All code and assets are available under the [AGPL-3.0 License](LICENSE).\n* **Independent**: No company owns the code or is responsible for the projects' governance.\n* **Inclusive**: No \"core\", \"pro\", \"premium\" or \"enterprise\" version. The only version is the one you can download and run, and it has all the features.\n* **Invisible**: No usage tracking, no user tracking, no ads, and no telemetry.\n* **Internal**: No internet connection required for any functionality.\n\n## Misc\n\n* **AI autonomy:** This project is developed at [Level 3 (semi-autonomous)](https://blog.jread.com/posts/ai-levels-of-autonomy-in-software-engineering/): AI implements features and tests; humans define specs and direction. Specs and architecture are written by a human with 20 years of development experience. Aggressive non-AI static analysis, code-quality checks (e.g. cyclomatic complexity limits), and tests are in place to reinforce project quality.\n* **Backend:** The service supports multiple database drivers (MySQL, Neo4j, YAML files, and [todo.txt](http://todotxt.org)) for different task systems. The **todotxt** driver is the one that by far receives the most focus and testing at the moment.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamesread%2Fwackytracky","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjamesread%2Fwackytracky","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamesread%2Fwackytracky/lists"}