|
||
---|---|---|
crates/omnia | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
README.md |
Omnia
Omnia
is a tool to provide a common platform for everything. It is a tool
build to support note-taking, handling personal relationships, project
development, todos, research, up-keep of external work, and much more.
This may seem like a large list of tasks, and it is. However, Omnia is designed to be opinionated, and provide a minimalistic approach to each of the above. Omnia is not a general purpose tool, text editing tool, it is designed to fit into your existing toolstack, with its opinionated project structure, and workflow.
Alternatives to this tool:
- Notion: with second brain templates etc.
- Obsidian: with zen garden templates etc.
Omnia is a commandline tool, which functions using a terminal ui, or pure cli
commands. Called interactive
for the former, and prompt
for the latter. It
is designed to work with your favorite EDITOR, to keep the scope of this project
reasonable, Omnia
doesn't try to bundle with an editor. Instead it will
respect your OMNIA_EDITOR
, or EDITOR
environment variables, and launch the
files using those.
How to use Omnia
To launch the fully interactive view, simply type omnia
in your shell of
choice. This will boot up the TUI, press ?
for help and it will show a brief,
menu as well as the most common keybinds.
Following each command will be shown separately, these will be available in the
UI as well, just follow along in the menu, or use the command key :
to open
the command palette.
Commands
In Omnia everything is designed to use Markdown files, even the templates are markdown files, though with some special syntax to make prompting easier. This also means that you can open your local ~/omnia directory using your favorite editor, as everything is just markdown files.
Projects are the cornerstone of how Omnia functions. Every navigation item is a project, be they todo lists, research items, external sites etc. Projects can be nested, and projects can contain pages. External apps can be configured as a project, and will need a certain interface to be functional.
This means that when you type a command:
omnia --help
, each subcommand will be a project, some keywords are reserved:
(todo, inbox, project, etc.), each project decides which commands are available,
and this is fully customizeable, through our plugin system. Though note that we
ship the default view with a set of preconfigured plugins:
- todo
- inbox
- projects
- areas
Typing each of the commands above will open the fully interactive tui:
omnia todo
. Todo has a set of commands available to it: omnia todo create
as
an example. This will open the prompt view, which will interactive ask the user
to fill out a form. These questions will also be available using commandline
flags as well.
Views
Some of the projects are built as views, this may be a list of recent notifications on github, apis of interest, metrics and whatnot.
Remote first
Omnia will sync remote first in nearly all cases. The only exception is in
progress forms and whatnot. This is to keep complexity down, as well as making
sure Omnia is as easily crossplatform as possible. You should be able to use
Omnia
from all your terminal capable devices. This sprung out of my own need
for having my notes available everywhere, without having conflicts.