Skip to content

zdavison/noticer

Repository files navigation

image

📝 Noticer

noticer is a tool for managing small messages that you want developers of a repo to see.

Notices are stored in the repository, and developers only see unseen notices.

It's useful for telling developers things like:

  • "We changed the Dockerfiles, you'll need to rebuild them."
  • "We added a new library, check it out at packages/cool-new-thing."
  • "The platform team released a new admin tool, you can see it at http://platform.ecorp.com/admin"

It's designed to be really easy to use and setup in your repository.

Installation

Node.js projects

Since you're already using node, there's no point requiring all your developers to install a bundled copy of it.

npm install -D @zdavison/noticer
# or
pnpm add -D @zdavison/noticer
# or
bun add -D @zdavison/noticer

Other projects (standalone binary)

curl -fsSL https://raw.githubusercontent.com/zdavison/noticer/main/install.sh | sh

This downloads a standalone executable - no Node.js required.

Quick Start

For Node.js projects (using your package manager):

npx noticer init
npx noticer create

Showing notices

By default, noticer installs itself into your postinstall script. However, if you'd like to show notices some other way (e.g. a git hook), just call pnpm noticer show wherever you'd like to trigger it.

Features

  • One command setup (noticer init).
  • Developers only see notices once.
  • Fresh clones will only see the latest notice (not the entire history).
  • Interactive notice creation with live preview.
  • Command execution: Include commands in notices that users can execute interactively.

Command Execution

You can include commands in your notices that users will be prompted to execute when they view the notice. This is useful for automating setup tasks or running necessary commands.

To include a command in a notice, prefix it with !>:

pnpm noticer create "We updated the database schema!

Please run the migration:
!> npm run migrate

And then restart your dev server:
!> npm run dev"

When users run noticer show, they'll see the notice and be prompted to execute each command:

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃  📝 Team Lead                       ┃
┃     July 30, 2025                   ┃
┃                                     ┃
┃ We updated the database schema!     ┃
┃                                     ┃
┃ Please run the migration:           ┃
┃ !> npm run migrate                  ┃
┃                                     ┃
┃ And then restart your dev server:   ┃
┃ !> npm run dev                      ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

? Execute command: npm run migrate? (y/N)

Users can choose to execute or skip each command. Commands are executed in the repository's root directory.

/dev/tty fallback

noticer attempts to re-open /dev/tty when stdin is not a TTY.

If you run noticer during git hooks, this will be the case.

This is done in order to allow interactivity (e.g. when using !> command execution).

However this may not work in some environments, in that case, you can use --auto-execute to automatically prompt yes to !> command executions.

Contributors

noticer was developed at MeetsMore and then open sourced.

About

A tool for notifying developers of things they need to know after installing a commit.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors