Figment is a personal information manager (PIM). Figment is implemented as a command-line interpreter (CLI) application named jot
that lets you jot down your ideas.
The purpose of figment is to let individuals build repositories and graphs of knowledge that help them go about their daily business. In addition to a customizable data repository with user-defined schemas, built-in functionality aids users in common contact and task and administration duties.
- Command line interface (CLI) with an operational interactive mode
- Fully customizable data model for both entities and attributes
- Pomodoro Timers on the command line
Compile and run jot
using the .NET SDK, such as with the command line: dotnet run --project src/jot/
from the root of this repository.
jot runs in two modes, one that takes command line arguments, like most other CLI tools. Running jot with no arguments on an interactive console runs it in an interactive REPL-style mode.
When run in interactive mode, use --help
to see the same commands available to non-interactive mode use and use ihelp
to see additional commands available in interactive mode.
You can find more documentation online.
To build distributable releases for multiple platforms:
# Build all platforms at once
make build-releases
# Or use the script directly
./build-releases.sh
# Build individual platforms
make build-linux
make build-windows
make build-macos
This creates release packages in the releases/
directory:
jot-VERSION-windows.zip
- Windows executablejot-VERSION-linux.tar.gz
- Linux executablejot-VERSION-macos.tar.gz
- macOS Intel executablejot-VERSION-macos-arm.tar.gz
- macOS Apple Silicon executablejot-VERSION.deb
- Debian/Ubuntu package
# Install locally
sudo dpkg -i releases/jot-VERSION.deb
# Or use the make target after building
make install-deb
There are two major entities in Figment: schemas and things. Schemas define a set of fields for things of a type, and every thing belongs to at least one schema. Things can belong to multiple schemas, but they do not have to belong to more than one.
To see an example in practice, you can create a new thing of a new type with the new
command. To learn about what commands you can use, you can find details in the CLI help, such as by typing jot -h
on the command line, or for help specifically with the new
command, you can type jot new -h
.
To read more about schemas, check out the documentation on them in this repository here.