diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..ee3d91e --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,15 @@ +ISC License + +Copyright (c) 2025 Paolo Donadeo + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..50c911c --- /dev/null +++ b/README.md @@ -0,0 +1,75 @@ +# todotxt2remind + +`todotxt2remind` is a command-line tool that converts tasks from the [todo.txt](https://github.com/todotxt/todo.txt) format into [Remind](https://dianne.skoll.ca/projects/remind/) calendar entries. It helps you integrate your plain-text task list with Remind for calendar-based reminders. + +## Features + +- Reads tasks from a todo.txt file or standard input +- Outputs Remind-compatible entries to a file or standard output +- Supports projects, contexts, priorities, due dates, and custom metadata +- Optional debug output in JSON format + +## Installation + +You need [Go](https://golang.org/dl/) installed (version 1.18 or newer recommended). + +Clone the repository and build: + +```sh +git clone https://git.donadeo.net/pdonadeo/todotxt2remind.git +cd todotxt2remind +go build -o todotxt2remind +``` + +## Usage + +Basic usage: + +```sh +./todotxt2remind -i todo.txt -o remind.txt +``` + +Read from stdin and write to stdout: + +```sh +cat todo.txt | ./todotxt2remind +``` + +Show debug output (parsed tasks as JSON): + +```sh +./todotxt2remind -i todo.txt --debug +``` + +Show version: + +```sh +./todotxt2remind --version +``` + +## Example + +Given a `todo.txt` file: + +``` +(A) 2025-11-25 Call Mom +Family @phone due:2025-11-26 +x 2025-11-24 2025-11-20 Submit report +Work due:2025-11-25 +``` + +The output will be Remind entries for each task with a due date. + +## Contributing + +Contributions are welcome! Please open issues or submit pull requests. + +1. Fork the repository +2. Create your feature branch (`git checkout -b feature/my-feature`) +3. Commit your changes (`git commit -am 'Add new feature'`) +4. Push to the branch (`git push origin feature/my-feature`) +5. Open a pull request + +For questions or suggestions, feel free to open an issue. + +## License + +See `LICENSE` file for details.