Skip to content
This repository was archived by the owner on Apr 1, 2026. It is now read-only.

NickCirv/dev-excuse-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dev-excuse-api

npm version License: MIT Node.js Zero Dependencies

 ██████╗ ███████╗██╗   ██╗    ███████╗██╗  ██╗ ██████╗██╗   ██╗███████╗███████╗
 ██╔══██╗██╔════╝██║   ██║    ██╔════╝╚██╗██╔╝██╔════╝██║   ██║██╔════╝██╔════╝
 ██║  ██║█████╗  ██║   ██║    █████╗   ╚███╔╝ ██║     ██║   ██║███████╗█████╗
 ██║  ██║██╔══╝  ╚██╗ ██╔╝    ██╔══╝   ██╔██╗ ██║     ██║   ██║╚════██║██╔══╝
 ██████╔╝███████╗ ╚████╔╝     ███████╗██╔╝ ██╗╚██████╗╚██████╔╝███████║███████╗
 ╚═════╝ ╚══════╝  ╚═══╝      ╚══════╝╚═╝  ╚═╝ ╚═════╝ ╚═════╝ ╚══════╝╚══════╝

        A P I       —      "The deployment was imminent when I wrote this."

Zero-dependency Node.js CLI that generates developer excuses calibrated to the situation. Because the bug was already there. You just made it visible.


Install

# Run instantly with npx (no install needed)
npx dev-excuse-api

# Or install globally
npm install -g dev-excuse-api

Usage

Random excuse

npx dev-excuse-api
# DNS propagation.

Situation-specific

npx dev-excuse-api --for "missed deadline"
# The estimation was based on the wrong Fibonacci number.

npx dev-excuse-api --for "bug in production"
# It worked in staging. Staging is a liar.

npx dev-excuse-api --for "build failing"
# A cosmic ray flipped a bit in the CI server.

npx dev-excuse-api --for "late to standup"
# I was in a deep merge conflict with my alarm clock.

npx dev-excuse-api --for "code review feedback"
# That complexity is load-bearing.

npx dev-excuse-api --for "pr not reviewed"
# The diff is only 2000 lines. It's really just one logical change.

Formal mode — for emails

npx dev-excuse-api --for "missed deadline" --formal
# Due to unforeseen technical circumstances beyond our immediate control,
# the estimation was based on the wrong fibonacci number. We are actively
# investigating and expect resolution by EOD. We apologize for any
# inconvenience this may have caused and appreciate your continued patience.

Slack mode — for casual messages

npx dev-excuse-api --for "build failing" --slack
# hey so a cosmic ray flipped a bit in the ci server :shrug:

Git mode — for commit messages

npx dev-excuse-api --git
# chore: delay explained — dns propagation

npx dev-excuse-api --for "late to standup" --git
# fix: late because i was in a deep merge conflict with my alarm clock

Generate multiple excuses

npx dev-excuse-api --count 3
# 1. DNS propagation.
# 2. Caching issue.
# 3. The database was being 'creative'.

npx dev-excuse-api --for "bug in production" --slack --count 2
# 1. hey so it worked in staging. staging is a liar :computer:
# 2. fyi qa approved it. in their defense, it was friday :fire:

Situations

--for value Excuse pool
missed deadline 16 excuses
bug in production 16 excuses
build failing 16 excuses
late to standup 14 excuses
code review feedback 14 excuses
pr not reviewed 11 excuses
(anything else) 18 general excuses

Fuzzy matching — "the build is broken" matches build failing, etc.


Options

Flag Description
--for "situation" Situation-specific excuse
--formal Corporate email format
--slack Casual Slack message format
--git Git commit message format
--count N Generate N excuses (max 50)
--help, -h Show help

Technical

  • Zero dependencies — single index.js with shebang
  • Node.js 14+ compatible
  • Under 300 lines

You might also like

  • github.com/NickCirv — more tools that solve problems nobody asked about but everybody needs

"The feature works in my time zone."

Contributing

PRs welcome! If you have a funny idea or improvement:

  1. Fork the repo
  2. Create your feature branch (git checkout -b feature/amazing-idea)
  3. Commit your changes
  4. Push to the branch (git push origin feature/amazing-idea)
  5. Open a Pull Request

Found a bug? Open an issue.


If this made you mass-exhale through your nose, mass-hit that star button.

About

Generate developer excuses for any situation. Formal, Slack, and git commit modes.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors