All Projects → taskchampion → taskchampion

taskchampion / taskchampion

Licence: MIT license
personal task-tracking

Programming Languages

rust
11053 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to taskchampion

Taskwarrior
a php lib for taskwarrior
Stars: ✭ 16 (-63.64%)
Mutual labels:  taskwarrior
taskdb
Personal task management solution
Stars: ✭ 24 (-45.45%)
Mutual labels:  taskwarrior
swiss-army
Ansible-driven configuration management for maintaining a preferred environment (base system and app dotfiles / configurations)
Stars: ✭ 44 (+0%)
Mutual labels:  taskwarrior
toodoux
A task manager based on taskwarrior
Stars: ✭ 48 (+9.09%)
Mutual labels:  taskwarrior
taskw-dart
Taskwarrior-inspired mobile todo app
Stars: ✭ 58 (+31.82%)
Mutual labels:  taskwarrior
Taskwarrior
Taskwarrior - Command line Task Management
Stars: ✭ 2,239 (+4988.64%)
Mutual labels:  taskwarrior
taskd-client-py
🔨 🐍 A python client for taskd
Stars: ✭ 14 (-68.18%)
Mutual labels:  taskwarrior
unfog.vim
⏱ Vim plugin for Unfog CLI task & time manager.
Stars: ✭ 61 (+38.64%)
Mutual labels:  taskwarrior
twmail
Mail new tasks to your TaskWarrior inbox
Stars: ✭ 16 (-63.64%)
Mutual labels:  taskwarrior
go-taskwarrior
Golang library to interact with taskwarrior database
Stars: ✭ 21 (-52.27%)
Mutual labels:  taskwarrior
taskwarrior-syncall
Synchronization between Taskwarrior tasks and services such as Google Calendar, Notion and Google Keep. Formerly taskw_gcal_sync
Stars: ✭ 151 (+243.18%)
Mutual labels:  taskwarrior

TaskChampion

TaskChampion is an open-source personal task-tracking application. Use it to keep track of what you need to do, with a quick command-line interface and flexible sorting and filtering. It is modeled on TaskWarrior, but not a drop-in replacement for that application.

See the documentation for more!

Status

TaskChampion currently functions as a "testbed" for new functionality that may later be incorporated into TaskWarrior. It can be developed without the requirements of compatibliity, allowing us to explore and fix edge-cases in things like the replica-synchronization model.

While you are welcome to help out, you should do so with the awareness that your work might never be used. But, if you just want to get some practice with Rust, we'd be happy to have you.

Structure

There are five crates here:

Code Generation

The taskchampion_lib crate uses a bit of code generation to create the lib/taskchampion.h header file. To regenerate this file, run cargo xtask codegen.

C libraries

NOTE: support for linking against taskchampion is a work in progress. Contributions and pointers to best practices are appreciated!

The taskchampion-lib crate generates libraries suitable for use from C (or any C-compatible language).

The necessary bits are:

  • a shared object in target/$PROFILE/deps (e.g., target/debug/deps/libtaskchampion.so)
  • a static library in target/$PROFILE (e.g., target/debug/libtaskchampion.a)
  • a header file, lib/taskchampion.h.

Downstream consumers may use either the static or dynamic library, as they prefer.

NOTE: on Windows, the "BCrypt" library must be included when linking to taskchampion.

As a Rust dependency

If you would prefer to build Taskchampion directly into your project, and have a build system capable of building Rust libraries (such as CMake), the taskchampion-lib crate can be referenced as an rlib dependency.

Documentation Generation

The mdbook configuration contains a "preprocessor" implemented in the taskchampion-cli crate in order to reflect CLI usage information into the generated book. This preprocessor is not built by default. To (re)build it, run cargo build -p taskchampion-cli --features usage-docs --bin usage-docs.

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].