mirror of
https://github.com/GothenburgBitFactory/taskwarrior.git
synced 2025-07-07 20:06:36 +02:00
51 lines
2.6 KiB
Markdown
51 lines
2.6 KiB
Markdown
# Welcome
|
|
|
|
This application is still in a pre-release state.
|
|
That means it's very open to contributions, and we'd love to have your help!
|
|
|
|
It also means that things are changing quickly, and lots of stuff is planned that's not quite done yet.
|
|
If you would like to work on TaskChampion, please contact the developers (via the issue tracker) before spending a lot of time working on a pull request.
|
|
Doing so may save you some wasted time and frustration!
|
|
|
|
# Other Ways To Help
|
|
|
|
The best way to help this project to grow is to help spread awareness of it.
|
|
Tell your friends, post to social media, blog about it -- whatever works best!
|
|
|
|
Other ideas;
|
|
* Improve the documentation where it's unclear or lacking some information
|
|
* Build and maintain tools that integrate with TaskChampion
|
|
* Devise a nice TaskChampion logo
|
|
|
|
# Development Guide
|
|
|
|
TaskChampion is a typical Rust application.
|
|
To work on TaskChampion, you'll need to [install the latest version of Rust](https://www.rust-lang.org/tools/install).
|
|
Once you've done that, run `cargo build` at the top level of this repository to build the binaries.
|
|
This will build `task` and `taskchampion-sync-server` executables in the `./target/debug` directory.
|
|
You can build optimized versions of these binaries with `cargo build --release`, but the performance difference in the resulting binaries is not noticeable, and the build process will take a long time, so this is not recommended.
|
|
|
|
## Running Test
|
|
|
|
It's always a good idea to make sure tests run before you start hacking on a project.
|
|
Run `cargo test` from the top-level of this repository to run the tests.
|
|
|
|
## Read the Source
|
|
|
|
Aside from that, start reading the docs and the source to learn more!
|
|
The book documentation explains lots of the concepts in the design of TaskChampion.
|
|
It is linked from the README.
|
|
|
|
There are three crates in this repository.
|
|
You may be able to limit the scope of what you need to understand to just one crate.
|
|
* `taskchampion` is the core functionality of the application, implemented as a library
|
|
* `taskchampion-cli` implements the command-line interface (in `cli/`)
|
|
* `taskchampion-sync-server` implements the synchronization server (in `sync-server/`)
|
|
|
|
You can generate the documentation for the `taskchampion` crate with `cargo doc --release --open -p taskchampion`.
|
|
|
|
## Making a Pull Request
|
|
|
|
We expect contributors to follow the [GitHub Flow](https://guides.github.com/introduction/flow/).
|
|
Aside from that, we have no particular requirements on pull requests.
|
|
Make your patch, double-check that it's complete (tests? docs? documentation comments?), and make a new pull request.
|