PHPackages                             ordinalm/cron-todo-txt - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. ordinalm/cron-todo-txt

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

ordinalm/cron-todo-txt
======================

00PHP

Since Nov 15Pushed 1y ago1 watchersCompare

[ Source](https://github.com/ordinalM/cron-todo-txt)[ Packagist](https://packagist.org/packages/ordinalm/cron-todo-txt)[ RSS](/packages/ordinalm-cron-todo-txt/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

cron-todo-txt
=============

[](#cron-todo-txt)

todo.txt cron utilities

Requirements
------------

[](#requirements)

- Command line PHP 8.1 or higher
- `todo-txt` CLI - see
- `composer` - see

Installation
------------

[](#installation)

- Run `composer install` from the project root.
- Install `bin/schedule` as an action for `todo-txt` - see . It is recommended that you symlink to the file in the project from your actions directory e.g.

```
mkdir -p ~/.todo.actions.d
cd ~/.todo.actions.d
ln -s /path/to/this/project/bin/schedule
```

Usage
-----

[](#usage)

### Scheduling a task

[](#scheduling-a-task)

Add the task to your `todo.txt` as normal and then use

```
todo-txt schedule add   ()

```

e.g.

```
todo-txt schedule add 1 tomorrow 1w
```

### Listing scheduled tasks

[](#listing-scheduled-tasks)

```
todo-txt schedule ls|list ()

```

### Processing the schedule

[](#processing-the-schedule)

Run `todo-txt schedule process` to add any scheduled tasks that should be added right now. It has one possible parameter, `live` - if this is set it will actually make the changes, otherwise it will just print debug output which is perfectly safe.

#### Example crontab entry

[](#example-crontab-entry)

```
*/15 * * * * /usr/bin/todo-txt schedule process live >> /home/foo/logs/cron-todo-txt.log 2>&1

```

to run every 15 minutes and output to `/home/foo/logs/cron-todo-txt.log`

Repeat file format
------------------

[](#repeat-file-format)

```
  (repeat|rec:)

```

Blank lines and ones starting with `#` are ignored.

The datetime string can be anything parsed by PHP's `strtotime`, but must not have any spaces in it. ISO-8601 datetimes are ideal and what it will use when creating recurring tasks - see below. It can include a time as well.

Everything in the `` will be added as a task with `todo-txt`, including priorities, contexts, and groups.

With no `repeat` or `rec` attribute, the todo will be removed. If there is one it will attempt to parse the value as per  - it will convert case and add "P" at the start if not present, so should pick up simple cases like "5d" (every 5 days) or "1y" (every year). It will then add a new entry in the repeat file

e.g.

```
# This is a comment line

2024-06-13 Write cron-todo-txt module
2024-06-14 Fix bugs in it repeat:1d

```

### In case of error in the file

[](#in-case-of-error-in-the-file)

If the code is unable to parse a date or line it will output an error and also comment out the line concerned (if run with `live`). It will process any other lines as usual.

TODO
----

[](#todo)

- Convert to have functions running as todo-txt addons
- Proper tests
- Structs for the scheduled file
- Split out the `ToDoTxt*` classes into a separate module for handling `todo-txt` files in PHP.
- A command for users to delete repeated tasks (though can just edit)
- A command to add repeated tasks directly, not just from the existing task list
- Editor for schedule file

###  Health Score

13

—

LowBetter than 1% of packages

Maintenance29

Infrequent updates — may be unmaintained

Popularity0

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity17

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/fd5208f7960a6d8155053b40cf66bd45bfb710dc45b4f325646cb0e39337b76f?d=identicon)[ordinalm](/maintainers/ordinalm)

---

Top Contributors

[![ordinalM](https://avatars.githubusercontent.com/u/10001510?v=4)](https://github.com/ordinalM "ordinalM (18 commits)")

### Embed Badge

![Health badge](/badges/ordinalm-cron-todo-txt/health.svg)

```
[![Health](https://phpackages.com/badges/ordinalm-cron-todo-txt/health.svg)](https://phpackages.com/packages/ordinalm-cron-todo-txt)
```

###  Alternatives

[friendsofphp/pickle

Installer for PHP extension, supports pecl package or install from src tree directly

1.7k3.3k](/packages/friendsofphp-pickle)[ebidtech/collection

A set of interfaces and traits to speed up the creation of collections

13123.6k6](/packages/ebidtech-collection)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
