-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Dakota Chambers edited this page Oct 30, 2021
·
10 revisions
The purpose of this wiki is to serve as the design documents for bujo.
bujo is a command line bullet journal application, written in Go using the Cobra library.
Bullet journaling is a system for rapidly recording thoughts, knowledge, information, and creating simple, actionable plans. In many ways, the bullet journal system fits the tenets of the Unix philosophy. Simple, single-purpose, modular, and extensible code and programs that work together. Because command-line tools are often built in a way that follows that Unix philosophy, it seemed a natural fit for bullet journaling.
Bullet journaling is a note-taking system that is built on the foundation of several simple but core concepts.
- Rapid Logging
- Bullets: Using different bullet types for different meanings (notes, tasks, events, etc).
- Signifiers: Give extra meaning (priority, inspiration, question, follow-up, etc) to your bullets.
- Collections: Group related content together.
- Index: Easily find content.
- Future Log: Gain a quick high-level overview of the next 6 months (or longer).
- Monthly Log: Contains a calendar page and migrated notes from the previous month.
- Daily Log: Contains your rapid logged notes/tasks/events/etc.
- Migration: Make a concerted effort to regularly review your notes and perform follow-up actions, archive/cancel the stuff that is no longer necessary, and migrate the stuff that still needs to be done to a new time frame.
bujo
bujo note
bujo task
bujo event
-
bujo
writes everything to plaintext files for easy exporting data preservation.- Keeps things simple with no database.
- Allows for version control using Git.
- Allows for easy backup and syncing.
- File Structure
bujo ├── 2021 │ ├── October │ │ └── 10-01-2021.yaml │ └── September │ ├── 09-29-2021.yaml │ └── 09-30-2021.yaml └── Collections └── birthday-planning.yaml
- Backend service that runs separately from the CLI. Would allow for multiple frontend apps (CLI, web app, desktop app, etc)