All Projects → matthiasbeyer → Imag

matthiasbeyer / Imag

Licence: lgpl-2.1
imag - Text based personal information management suite

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Imag

Gitviper
Enhanced git experience using the command line
Stars: ✭ 35 (-88.99%)
Mutual labels:  commandline, commandline-interface, cli
Reactopt
A CLI React performance optimization tool that identifies potential unnecessary re-rendering
Stars: ✭ 1,975 (+521.07%)
Mutual labels:  commandline, commandline-interface
Comfy Table
🔶 Build beautiful terminal tables with automatic content wrapping
Stars: ✭ 156 (-50.94%)
Mutual labels:  commandline, commandline-interface
Ace
Node.js framework for creating command line applications
Stars: ✭ 233 (-26.73%)
Mutual labels:  commandline, cli
Brotab
Control your browser's tabs from the command line
Stars: ✭ 137 (-56.92%)
Mutual labels:  commandline, cli
Gitin
commit/branch/workdir explorer for git
Stars: ✭ 1,815 (+470.75%)
Mutual labels:  commandline, cli
Gitlab Cli
Create a merge request from command line in gitlab
Stars: ✭ 224 (-29.56%)
Mutual labels:  commandline, cli
Lc
licensechecker (lc) a command line application which scans directories and identifies what software license things are under producing reports as either SPDX, CSV, JSON, XLSX or CLI Tabular output. Dual-licensed under MIT or the UNLICENSE.
Stars: ✭ 93 (-70.75%)
Mutual labels:  commandline, cli
cliar
Create modular Python CLIs with type annotations and inheritance
Stars: ✭ 47 (-85.22%)
Mutual labels:  commandline, commandline-interface
cmdr
POSIX-compliant command-line UI (CLI) parser and Hierarchical-configuration operations
Stars: ✭ 94 (-70.44%)
Mutual labels:  commandline, commandline-interface
Picocli
Picocli is a modern framework for building powerful, user-friendly, GraalVM-enabled command line apps with ease. It supports colors, autocompletion, subcommands, and more. In 1 source file so apps can include as source & avoid adding a dependency. Written in Java, usable from Groovy, Kotlin, Scala, etc.
Stars: ✭ 3,286 (+933.33%)
Mutual labels:  commandline, cli
Manage
Command Line Manager + Interactive Shell for Python Projects
Stars: ✭ 111 (-65.09%)
Mutual labels:  commandline, commandline-interface
Appicon
AppIcon generates *.appiconset contains each resolution image for iOS
Stars: ✭ 1,454 (+357.23%)
Mutual labels:  commandline, cli
Licenseplist
A license list generator of all your dependencies for iOS applications
Stars: ✭ 1,996 (+527.67%)
Mutual labels:  commandline, cli
Cordless
The Discord terminal client you never knew you wanted.
Stars: ✭ 1,391 (+337.42%)
Mutual labels:  commandline, cli
You Dont Need Gui
Stop relying on GUI; CLI **ROCKS**
Stars: ✭ 4,766 (+1398.74%)
Mutual labels:  commandline, cli
Croissant
🥐 A Lua REPL and debugger
Stars: ✭ 285 (-10.38%)
Mutual labels:  commandline, cli
Swiftline
Swiftline is a set of tools to help you create command line applications.
Stars: ✭ 1,156 (+263.52%)
Mutual labels:  commandline, cli
Fileinfo
📄Get information on over 10,000 file extensions right from the terminal
Stars: ✭ 86 (-72.96%)
Mutual labels:  commandline, cli
pendfetch
Double Pendulum visualised with fetching system information in Python.
Stars: ✭ 62 (-80.5%)
Mutual labels:  commandline, commandline-interface

imag - imag-pim.org

imag is a commandline personal information management suite.

This application is in early development. There are some things that work, but we do not consider anything stable or usable at this moment. Feel free to play around anyways.

Mission statement

Our (long-term) goal is to

Create a fast, scriptable, commandline first, plain-text-only suite of tools to cover all aspects of personal information management.

Yes, imag is a rather ambitious project as it tries to reimplement functionality for several "personal information management aspects". We try to use standards like vcard, icalendar and others wherever possible.

Have a look at the documentation for some more words on this.

Building/Running

Here is how to try imag out.

imag is a suite/collection of tools (like git, for example) and you can build each "module" individually.

Building

Building all crates works with cargo build --all, building individual crates by specifying the --manifest-path flag to cargo. The crates in ./bin are the actual commandline tools, ./bin/core contains a core set of imag commands ("plumbing" in git-speak) and ./bin/domain contains domain-specific imag commands, for example a todo tool or a bookmark tool.

Running

After you build the module you want to play with, you can simply call the binary itself with the --help flag, to get some help what the module is capable of.

If you installed the module, you can either call imag-<modulename> (if the install-directory is in your $PATH), or install the imag binary to call imag <modulename> (also if everything is in your $PATH). Call imag --help to see which modules are found and can be used. Call imag --versions to print the versions of all modules.

Example usage

As imag is a big and complex project, we cannot show all tools of the suite here. But to give you some idea, here's an example:

# Lets initialize imag
imag init

# Recursively import vcf files
imag contact import /home/user/contacts

# Create a contact (vcf) in the private collection
imag contact create --file /home/user/contacts/private

# Add a diary entry
imag diary -p private create

# Uh, I forgot something in a diary entry, select one (or multiple) and edit it
# use the `fzf` tool here (not a part of imag) to select from the IDs
imag diary -p private list | fzf -m | imag edit

# Link a contact to the diary entry
imag link diary/private/2018/01/01/00:00:00 contact/bc222298-casf-40a4-bda1-50aa980a68c9

# Annotate a contact with some notes
imag annotate add contact/bc222298-casf-40a4-bda1-50aa980a68c9 contact-notes

# Write down some notes named "pineapple"
imag notes create "pineapple"

# Where was that contact again?
imag grep Eva # also possible with `imag contact find Eva`

# Okay, we need to add some imag-internal notes to that contact
imag grep Eva -l | imag edit

# Now save our work
imag git add . # "imag-git" simply calls git in the imag store
imag git commit -m 'Commit message'

Staying up-to-date

We have a official website for imag, where I post release notes and monthly(ish) updates what's happening in the source tree (RSS here).

We also have a mailinglist where I post updates and where discussion and questions are encouraged.

Documentation

We have some documentation in the ./doc subtree which can be compiled to PDF or a website using pandoc. It might not be up to date, though. Developer documentation for the last release is available on docs.rs.

Please contribute!

We are looking for contributors! Feel free to open issues (by writing to the mailinglist) for asking questions, suggesting features or other things!

Also have a look at the CONTRIBUTING.md file!

Contact

Feel free to join our new IRC channel at freenode: #imag or our mailinglist.

License

We chose to distribute this software under terms of GNU LGPLv2.1.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].