Skip to content

Latest commit

ย 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“‹ checklist-cli

An elegant, keyboard-driven terminal checklist and task manager built with Ink, React, and TypeScript.

Node.js TypeScript License: MIT Built with Ink


๐Ÿ“ธ Preview

โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚                                                                        โ”‚
โ”‚  ๐Ÿ“‹ CHECKLIST CLI                                     Done: 2/4 (50%)  โ”‚
โ”‚                                                                        โ”‚
โ”‚  โฏ  [ ] Deploy new release to production                               โ”‚
โ”‚     [โœ”] Review pull request #12                                        โ”‚
โ”‚     [ ] Write integration test cases                                   โ”‚
โ”‚     [โœ”] Update project documentation                                   โ”‚
โ”‚                                                                        โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚ [โ†‘/โ†“] Move  [Space] Toggle  [a] Add  [d] Delete  [c] Clear  [q]  โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚                                                                        โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

โœจ Features

  • โšก Lightweight & Fast: Launches instantly in your terminal.
  • โŒจ๏ธ Vim & Arrow Key Navigation: Navigate seamlessly using arrows or standard j / k keys.
  • ๐Ÿ’พ Automatic Local Persistence: All changes save automatically to ~/.checklist-tasks.json, so your list stays intact across sessions and directories.
  • ๐Ÿ“Š Live Progress Tracking: Real-time completion counter and percentage indicator.
  • ๐Ÿ“ Inline Task Creation: Create tasks on the fly with a built-in interactive input prompt.
  • ๐ŸŽ“ Educational Source Code: Every file is thoroughly documented with star-block comments (/** ... */) explaining how Ink, Yoga Flexbox layout, terminal hooks, and CLI inputs function.

๐Ÿš€ Quick Start & Usage

1. Run as a Global Command (Recommended)

When you initialize the project with create-ink-app, a local symlink is created automatically. You can launch the CLI from any terminal session:

checklist-cli

Note: If the command is not recognized, link it to your global Node environment by running npm link inside the project folder.

2. Run Directly from Source

You can also build and run the compiled output directly:

# Compile TypeScript
pnpm run build

# Launch the CLI
node dist/cli.js

โŒจ๏ธ Keyboard Shortcuts

Shortcut Description
โ†‘ or k Move selection cursor up
โ†“ or j Move selection cursor down
Space or Enter Toggle completed / pending status
a Enter Add Mode to create a new task
Enter (in Add Mode) Save new task
Esc (in Add Mode) Cancel and return to list
d or x Delete currently selected task
c Clear all completed tasks
q or Esc Gracefully quit the application

๐Ÿ“‚ Storage & Persistence

Your checklist items are saved automatically to your user home directory:

~/.checklist-tasks.json

Because it saves to your home folder, you can run checklist-cli from any directory on your computer and always see your personal task list. If the file does not exist yet, default onboarding tasks will guide you on your first launch.


๐Ÿ› ๏ธ Development

Setup

# Install dependencies
pnpm install

# Watch mode for rapid development
pnpm run dev

Testing & Code Quality

# Run tests, format checker, and linter (Prettier + XO + AVA)
pnpm test

# Build production bundle
pnpm run build

๐Ÿ“ฆ Publishing to npm (Optional)

If you plan to publish this package to the public npm registry for others to install:

  1. Update the "name" field in package.json with a unique or scoped name (e.g., @yourusername/checklist-cli).
  2. Log into npm:
    npm login
  3. Publish:
    npm publish --access public

๐Ÿ“„ License

This project is licensed under the MIT License.

About

๐Ÿ“‹ Elegant, keyboard-driven terminal checklist and task manager built with Ink, React & TypeScript โœจโŒจ๏ธ

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages