PHPackages                             alister/todotxt-parser - 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. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. alister/todotxt-parser

ActiveLibrary[Parsing &amp; Serialization](/categories/parsing)

alister/todotxt-parser
======================

parser for the TodoTxt format

v1.4.0(11mo ago)2121MITPHPPHP ^8.1

Since Dec 14Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/alister/todotxt-parser)[ Packagist](https://packagist.org/packages/alister/todotxt-parser)[ RSS](/packages/alister-todotxt-parser/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (6)Dependencies (18)Versions (8)Used By (0)

alister/todotxt-parser
======================

[](#alistertodotxt-parser)

[![Latest Version](https://camo.githubusercontent.com/2bcaf8de11e4cf5fdc936700a1210a1514a9eafd2e071f22268060347ec8c8f0/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f616c69737465722f746f646f7478742d7061727365722e7376673f7374796c653d666c61742d737175617265266c6162656c3d72656c65617365)](https://packagist.org/packages/alister/todotxt-parser)[![Software License](https://camo.githubusercontent.com/342e8847cff750548229c2fc7e5bff3bf0240220e5d21aaf79467415b0d54f0d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f616c69737465722f746f646f7478742d7061727365722e7376673f7374796c653d666c61742d737175617265)](https://github.com/alister/todotxt-parser/blob/master/LICENSE)[![PHP Version](https://camo.githubusercontent.com/9b734da224873cd1b2cb2c36607e2e90fc0b849f788c10f76790ec279a63f2cf/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f616c69737465722f746f646f7478742d7061727365722e7376673f7374796c653d666c61742d737175617265)](https://php.net)[![Build Status](https://github.com/alister/todotxt-parser/workflows/Unit%20Tests/badge.svg)](https://travis-ci.org/alister/todotxt-parser)

parser for the TodoTxt format

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

[](#installation)

Install this package as a dependency using [Composer](https://getcomposer.org).

```
composer require alister/todotxt-parser
```

Contributing
------------

[](#contributing)

Contributions are welcome! Before contributing to this project, familiarize yourself with [CONTRIBUTING.md](CONTRIBUTING.md).

To develop this project, you will need [PHP](https://www.php.net) 7.4 or greater, [Composer](https://getcomposer.org), [Node.js](https://nodejs.org/), and [Yarn](https://yarnpkg.com).

After cloning this repository locally, execute the following commands:

```
cd /path/to/repository
composer install
yarn install
```

Now, you are ready to develop!

### Tooling

[](#tooling)

This project uses [Husky](https://github.com/typicode/husky) and [lint-staged](https://github.com/okonet/lint-staged) to validate all staged changes prior to commit.

#### Composer Commands

[](#composer-commands)

To see all the commands available in the project `td` namespace for Composer, type:

```
composer list td
```

##### Composer Command Autocompletion

[](#composer-command-autocompletion)

If you'd like to have Composer command auto-completion, you may use [bamarni/symfony-console-autocomplete](https://github.com/bamarni/symfony-console-autocomplete). Install it globally with Composer:

```
composer global require bamarni/symfony-console-autocomplete
```

Then, in your shell configuration file — usually `~/.bash_profile` or `~/.zshrc`, but it could be different depending on your settings — ensure that your global Composer `bin` directory is in your `PATH`, and evaluate the `symfony-autocomplete` command. This will look like this:

```
export PATH="$(composer config home)/vendor/bin:$PATH"
eval "$(symfony-autocomplete)"
```

Now, you can use the `tab` key to auto-complete Composer commands:

```
composer td:[TAB][TAB]
```

#### Coding Standards

[](#coding-standards)

This project follows a superset of [PSR-12](https://www.php-fig.org/psr/psr-12/)coding standards, enforced by [PHP\_CodeSniffer](https://github.com/PHPCSStandards/PHP_CodeSniffer). The project PHP\_CodeSniffer configuration may be found in `phpcs.xml.dist`.

lint-staged will run PHP\_CodeSniffer before committing. It will attempt to fix any errors it can, and it will reject the commit if there are any un-fixable issues. Many issues can be fixed automatically and will be done so pre-commit.

You may lint the entire codebase using PHP\_CodeSniffer with the following commands:

```
# Lint
composer td:lint

# Lint and autofix
composer td:lint:fix
```

#### Static Analysis

[](#static-analysis)

This project uses a combination of [PHPStan](https://github.com/phpstan/phpstan)and [Psalm](https://github.com/vimeo/psalm) to provide static analysis of PHP code. Configurations for these are in `phpstan.neon.dist` and `psalm.xml`, respectively.

lint-staged will run PHPStan and Psalm before committing. The pre-commit hook does not attempt to fix any static analysis errors. Instead, the commit will fail, and you must fix the errors manually.

You may run static analysis manually across the whole codebase with the following command:

```
# Static analysis
composer td:analyze
```

### Project Structure

[](#project-structure)

This project uses [pds/skeleton](https://github.com/php-pds/skeleton) as its base folder structure and layout.

NameDescription**bin/**Commands and scripts for this project**build/**Cache, logs, reports, etc. for project builds**docs/**Project-specific documentation**resources/**Additional resources for this project**src/**Project library and application source code**tests/**Tests for this projectCopyright and License
---------------------

[](#copyright-and-license)

The alister/todotxt-parser library is copyright © [Alister Bulman](https://abulman.co.uk/)and licensed for use under the terms of the MIT License (MIT). Please see [LICENSE](LICENSE) for more information.

###  Health Score

43

—

FairBetter than 90% of packages

Maintenance79

Regular maintenance activity

Popularity9

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity66

Established project with proven stability

 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.

###  Release Activity

Cadence

Every ~325 days

Recently: every ~190 days

Total

6

Last Release

345d ago

PHP version history (2 changes)v1.0.0PHP ^7.4 || ^8

v1.1.0PHP ^8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/6fcd33e037f41d017ef6dbc2c1df7f5110ace7e2ba70a8358aa0611ff87dc6bc?d=identicon)[alister](/maintainers/alister)

---

Top Contributors

[![alister](https://avatars.githubusercontent.com/u/173165?v=4)](https://github.com/alister "alister (25 commits)")

---

Tags

todotxtparsertodo.txt

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan, Rector

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/alister-todotxt-parser/health.svg)

```
[![Health](https://phpackages.com/badges/alister-todotxt-parser/health.svg)](https://phpackages.com/packages/alister-todotxt-parser)
```

###  Alternatives

[nikic/php-parser

A PHP parser written in PHP

17.4k902.6M1.8k](/packages/nikic-php-parser)[doctrine/lexer

PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.

11.2k910.8M118](/packages/doctrine-lexer)[erusev/parsedown

Parser for Markdown.

15.0k151.8M725](/packages/erusev-parsedown)[league/commonmark

Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and GitHub-Flavored Markdown (GFM)

2.9k404.0M698](/packages/league-commonmark)[masterminds/html5

An HTML5 parser and serializer.

1.8k242.8M226](/packages/masterminds-html5)[sabberworm/php-css-parser

Parser for CSS Files written in PHP

1.8k191.2M63](/packages/sabberworm-php-css-parser)

PHPackages © 2026

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