Catana Documentation
  • 🐱Overview
    • Introduction
    • Installation
  • 📖Core concepts
    • Regular and expiring TODOs
    • Assigning TODOs
    • Create, update and delete
    • Validation
    • Ignored TODOs
  • 🔔Triggers
    • Overview
    • Date
    • GitHub Issue closed
    • GitHub Pull Request closed
    • Ruby Gem released
    • Ruby Gem upgraded
    • Ruby Version released
    • Ruby Version upgraded
  • 🤖Commands
    • Overview
    • Done
    • Bump
    • Link
  • 🔗Grouped TODOs
    • Overview
  • ⚙️Configuration
    • Open GitHub issues
    • Enforce expiring TODOs
    • Rules
    • Exclusion list
Powered by GitBook
On this page
  • Usage
  • CI feedback

Was this helpful?

  1. Triggers

Overview

PreviousIgnored TODOsNextDate

Last updated 6 months ago

Was this helpful?

Catana provides a powerful feature to expire your TODO at the time or condition of your choice by using triggers. When the condition of the trigger is met, Catana expire your TODO and open an issue in your GitHub tracker.

The page has a detailed explanation on expiring TODOs.

Usage

Adding a trigger to a TODO can be done in two ways, using a specific syntax on the TODO declaration or let Catana detect it itself with its fine tuned AI model (currently in beta).

With a syntax

The parser expects the following syntax: TODO(on: date('2023-06-01')). For more examples, each trigger type has its own documentation page. Do not worry if you make a mistake; Catana will provide feedback on your pull request!

Let Catana use its fine tuned AI model

This feature is currently in beta; you can opt in by heading to your repository's settings page on the Catana dashboard. Please allow for some margin of error if the trigger is either not detected at all or the wrong trigger is used.

The prompt used to detect the trigger is based on the TODO title. For instance, if you'd like the TODO to expire when your application upgrades its Ruby version, you would write: TODO: Use the Regex timeout feature once we are on Ruby 3.2

Another common example is to expire a TODO and follow up on a task when a related pull request or issue is closed:

TODO: Reuse the calendar component once #5413 is merged


The next pages in the documentation go through all triggers implemented by Catana and provide examples on how to help the AI model detect the correct trigger.

CI feedback

This is especially useful if you'd like to know in advance which trigger Catana inferred from a TODO. The details are viewable on your pull request's check run page.

In addition to the , when opening a pull request, Catana will output all details of the TODOs it detected and the operations it will perform once your commit(s) land on the main branch.

🔔
validation feature
Core concept