https://github.com/bgutter/wu-wei
The Wu-Wei productivity platform.
https://github.com/bgutter/wu-wei
Last synced: 13 days ago
JSON representation
The Wu-Wei productivity platform.
- Host: GitHub
- URL: https://github.com/bgutter/wu-wei
- Owner: bgutter
- Created: 2023-03-05T01:09:55.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2025-02-17T02:29:06.000Z (11 months ago)
- Last Synced: 2025-03-06T01:50:03.728Z (10 months ago)
- Language: Clojure
- Size: 416 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.org
Awesome Lists containing this project
README
#+TITLE: Wu-Wei
Wu-Wei is a task management system written in ClojureScript.
[[file:ww.gif]]
*Under Construction!* :)
* Launching Development Server
Build and run Docker image
#+begin_src sh
sh build-dev.sh
sh run-docker-dev.sh
#+end_src
In emacs, run =m-X cider-connect-clj&cljs=, with endpoint =localhost=, port =7888=, and build =wu-wei=.
Open browser to =localhost:9500=.
Go forth and code.
** Development Notes
In dev mode, all the image does is start an nREPL server. Launching the web app through fighweel-main's dev server is initiated by emacs' CIDER library on connect. So be aware that you can't access the app in the browser until after emacs connects to the container.
Finally, for whatever reason, you'll have to restart the container if the CIDER's CLJS nREPL connection is lost. It will fail to reconnect as long as figwheel is already running the =wu-wei= build. Just close the container, quit cider, restart the container, and restart cider. If you know a more elegant way to handle this, please let me know.. :)
* What does Wu-Wei do differently?
** Iterative Planning
Roadmapping a project in Wu-Wei is a top-down process. You start by creating a task that summarizes your ultimate goal -- say, renovating the house. Then, you'll progressively decompose that 'big task' into increasingly specific subtasks as you work on the project. It's Agile in spirit.
The Wu-Wei user interface is designed specifically to make deeply nested subtasks just as easy to work with as top-level tasks.
** Keep It Simple
Advanced workflows are best supported by small, simple, and predictable tools. Wu-Wei hides unused functionality, and embraces simple data models.
** Make it Powerful
Wu-Wei has a built-in lisp-like DSL for querying, filtering, grouping, and highlighting tasks. But we won't make you use it. :)
List all tasks which are open but unassigned, group them by their 'root' task, sort them by their priority, then highlight the ones that are past their due-date red.
#+begin_src clojure
{:filter [:and [:not :assigned?] :is-open?]
:group-by :root-task
:sort :priority
:mark [:overdue? [:background "red"]]}
#+end_src