{"id":21314476,"url":"https://github.com/polyconseil/check-oldies","last_synced_at":"2025-07-12T01:31:16.196Z","repository":{"id":46088667,"uuid":"258441393","full_name":"Polyconseil/check-oldies","owner":"Polyconseil","description":"The developer companion that warns about unattended FIXME and TODO annotations","archived":false,"fork":false,"pushed_at":"2024-05-22T07:04:19.000Z","size":104,"stargazers_count":4,"open_issues_count":1,"forks_count":2,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-06-29T08:17:41.987Z","etag":null,"topics":["annotations","fixme","quality","todo"],"latest_commit_sha":null,"homepage":"https://check-oldies.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Polyconseil.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGES.rst","contributing":"docs/contributing.rst","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-24T07:39:02.000Z","updated_at":"2024-05-14T16:51:49.000Z","dependencies_parsed_at":"2024-04-05T14:49:48.946Z","dependency_job_id":null,"html_url":"https://github.com/Polyconseil/check-oldies","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/Polyconseil/check-oldies","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Polyconseil%2Fcheck-oldies","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Polyconseil%2Fcheck-oldies/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Polyconseil%2Fcheck-oldies/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Polyconseil%2Fcheck-oldies/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Polyconseil","download_url":"https://codeload.github.com/Polyconseil/check-oldies/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Polyconseil%2Fcheck-oldies/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264923080,"owners_count":23683716,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["annotations","fixme","quality","todo"],"created_at":"2024-11-21T18:13:11.793Z","updated_at":"2025-07-12T01:31:15.920Z","avatar_url":"https://github.com/Polyconseil.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"**check-oldies** is a collection of programs that warn about old\nthings in code:\n\n- **check-fixmes** warns about old FIXME or TODO annotations and\n  orphan FUTURE tags.\n\n  If we did not regularly check, we would forget about that FIXME note\n  we wrote a few months ago. **check-fixmes** warns us about it. It is\n  then our choice to act: fix it, remove it (because we decided it is\n  not worth to fix, or because it is not relevant anymore), or\n  postpone it.\n\n  FUTURE tags: We sometimes plan a broad modification that will span\n  multiple files. Instead of littering FIXME annotations everywhere,\n  we set a single FIXME annotation and a FUTURE-xxx tag on the same\n  line. Then, wherever we need to make a modification, we only\n  mention this FUTURE-xxx tag without any FIXME. If we ever remove the\n  FIXME but keep a FUTURE-xxx tag somewhere, it is a mistake and this\n  tool warns us.\n\n- **check-branches** warns about old branches, surprisingly.\n\n- **forget-me-not** runs both programs above on a set of Git\n  repositories and sends warning e-mails to authors of soon-to-be-old\n  annotations or branches.\n\nIn other words: **check-fixmes** and **check-branches** can be run as\npart of the test suite of each project (by a continuous integration\nsystem such as Jenkins). They break builds when they detect old\nthings.  On the other hand, **forget-me-not** can be run once a week\non a set of projects to warn authors that some builds *will* break\nsoon if they do not take care of their old annotations or branches.\n\n\nExample output\n==============\n\n::\n\n    $ check-fixmes\n    NOK: Some annotations are too old, or there are orphan FUTURE tags.\n    jdoe            -  181 days - frobulator/api.py:12: # FIXME (jdoe): we should catch errors\n    jdoe            -  100 days - frobulator/api.py:25: # TODO: this is slow, use the batch API instead\n    jsmith          -   12 days - docs/index.rst:1: # FIXME: write documentation before open sourcing\n\n\n::\n\n    $ check-branches\n    NOK: Some branches are too old.\n    john.smith@example.com     -   92 days - jsmith/fix_frobs (https://github.com/Polyconseil/check-oldies/tree/jsmith/fix_frobs), linked to open PR/MR #1 (https://github.com/Polyconseil/check-oldies/pull/1)\n\n\nApplicability\n=============\n\n**check-oldies** is written in Python but is language-agnostic. It\nworks on Git repositories but could be extended to other version\ncontrol systems. It integrates with GitHub but can do without it, and\ncould be extended to work with other code hosting platforms.\n\n\nRequirements and installation\n=============================\n\nYou must have Python 3.7 or later, and a relatively recent version of\nGit. Git 2.1.4 (shipped with Debian Jessie) is known to work. More\nrecent versions should work and are supported.\n\nInstall with ``pip``, preferably in a virtual environment:\n\n.. code-block:: console\n\n    $ python3 -m venv /path/to/your/virtualenv\n    $ source /path/to/your/virtualenv/bin/activate\n\n    $ pip install \"check-oldies[toml]\"\n\n\nFeatures, configuration and more\n================================\n\nThe `full documentation`_ has more details about the features and the\nconfiguration, examples of the usage of FUTURE tags, how to\ncontribute, etc.\n\n.. _full documentation: https://check-oldies.readthedocs.io/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpolyconseil%2Fcheck-oldies","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpolyconseil%2Fcheck-oldies","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpolyconseil%2Fcheck-oldies/lists"}