{"id":42147308,"url":"https://github.com/dcchambers/note-keeper","last_synced_at":"2026-01-26T17:58:59.131Z","repository":{"id":46132923,"uuid":"143092370","full_name":"dcchambers/note-keeper","owner":"dcchambers","description":":notebook: A tiny bash tool for taking and organizing notes.","archived":false,"fork":false,"pushed_at":"2025-03-28T03:23:26.000Z","size":15475,"stargazers_count":65,"open_issues_count":9,"forks_count":5,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-10-12T11:29:47.119Z","etag":null,"topics":["bash","cli","command-line-tool","commandline","hacktoberfest","note-taking","notes","shell-script","terminal"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dcchambers.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-08-01T02:15:27.000Z","updated_at":"2025-06-09T02:38:04.000Z","dependencies_parsed_at":"2022-09-11T16:11:22.762Z","dependency_job_id":null,"html_url":"https://github.com/dcchambers/note-keeper","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/dcchambers/note-keeper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcchambers%2Fnote-keeper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcchambers%2Fnote-keeper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcchambers%2Fnote-keeper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcchambers%2Fnote-keeper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dcchambers","download_url":"https://codeload.github.com/dcchambers/note-keeper/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcchambers%2Fnote-keeper/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28784092,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-26T13:55:28.044Z","status":"ssl_error","status_checked_at":"2026-01-26T13:55:26.068Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["bash","cli","command-line-tool","commandline","hacktoberfest","note-taking","notes","shell-script","terminal"],"created_at":"2026-01-26T17:58:56.567Z","updated_at":"2026-01-26T17:58:59.125Z","avatar_url":"https://github.com/dcchambers.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Notekeeper\n\n![Shellcheck](https://github.com/dcchambers/note-keeper/actions/workflows/shellcheck.yml/badge.svg)\n\nA tiny bash script for taking and organizing simple text notes.\n\n![](assets/notekeeper-demo.gif)\n\n- Write a TODO list.\n- Use as a copy/paste clipboard.\n- Make ASCII art. :)\n\n:question: Why use this instead of just typing `vim /path/to/my/note.md` ?\n\n- Type fewer characters.\n- Print and manage note files easily.\n- Open the same note from any directory.\n- Automatically organizes notes with a sane directory structure.\n\n## Installation\n\n### Homebrew\n- Notekeeper can be easily installed via homebrew!\n```\nbrew tap dcchambers/tap\nbrew update \u0026\u0026 brew install notekeeper\n```\n### Arch Linux\n- Maintained by [Luis Pérez](https://github.com/luisperezmarin) - thank you!\n```\nparu -S notekeeper\n```\n### Manual Install\n\n- Simply download the `note.bash` script file.\n- Place it somewhere nice (`mv note.bash /usr/local/bin/note`).\n- Make it executable with `chmod +x /usr/local/bin/note`\n- Add it to your `path` if necessary (e.g. `export PATH=$PATH:/usr/local/bin`)\n- You can then run the script anywhere by simply typing `note` at the command line.\n\n## Usage\n\n- Running `note` by itself with no arguments will create a new note file\nat `~/$NOTE_DIR/$year/$month/$day/$year-$month-$day.md` if one does not exist,\nand will open that note file in Vim.\n\n- `-c | --create`\n  - Use the `-c` flag to create a note without opening it.\n- `-p | --print`\n  - Use the `-p` flag to print the contents of the note.\n- `-n | --name \u003cFILENAME\u003e`\n  - Set filename for note. Will be created in $NOTE_DIR.\n    Can be combined with other options (-c, -p, -t)\n- `-e | --edit \u003cFILENAME\u003e`\n  - Use the `-e` flag with a DATE argument to edit a note from a specific date.\n- `-h | --help`\n  - Use the `-h` flag to print usage information.\n- `-t | --time`\n  - Use the `-t` flag to add a timestamp when creating/opening note.\n- `-d | --delete \u003cFILENAME`\n  - Use the `-d` flag to move a file into trash (`$NOTE_DIR/trash`)\n- `--destroy \u003cFILENAME\u003e`\n  - Use the `--destroy` flag to permanently delete a note.\n- `-l | --list [\u003cFILE EXTENSION\u003e]`\n  - Use this `--list` flag to list note files. Defaults to `.md` files if no extension is specified.\n\n## Demo (Asciinema)\n\n[![asciicast](assets/notekeeper-asciinema.png)](https://asciinema.org/a/404264)\n\n## File Organization\n\n```shell\n❱❱ tree ~/notes\n/home/username/notes\n└── 2020\n    ├── 06\n    │   ├── 21\n    │   │   └── 2020-06-21.md\n    │   └── 22\n    │       └── 2020-06-22.md\n    └── 07\n        └── 28\n            ├── 2020-07-28.md\n            └── another-note.md\n```\n\n## Configuration\n\n- The default editor is set by your `$EDITOR` environment variable.\n  - If no default editor is set, it will use *Vim*.\n    - It opens *Vim* in insert mode.\n- The default location to store notes is in the `~/notes/` directory.\n  - To change this, set a `NOTE_DIR` value in your `noterc` file.\n\n### Customize with noterc\n\nYou can use a `noterc` file to customize Notekeeper!\n\n- Create this file at `${XDG_CONFIG_HOME}/notekeeper/noterc`\n  - On MacOS, this will be `~/.config/notekeeper/noterc`\n- [Example noterc file](https://github.com/dcchambers/dotfiles/blob/master/.config/notekeeper/noterc)\n\nThe following variables can be set to overwrite Notekeeper defaults:\n\n- `NOTE_DIR` - The base directory for storing notes.\n  - Default is `~/notes`\n- `EDITOR`\n  - By default Notekeeper uses whatever is in your system `$EDITOR` variable,\n    and falls back to vim if none is set.\n- `NOTE_FORMAT` - File format (file extension) used to create new notes.\n  - Default is `.md`\n- `NOTE_NAME` - Default name for new notes that are created.\n  - The default is `$YEAR-$MONTH-$DAY.$NOTE_FORMAT`\n- `PRINT_TOOL`\n  - Default is `cat`\n- `organize_by_date`\n  - Default is `true`. Set `organize_by_date=false` if you do not want to use a date-based directory structure for organizing notes.\n\n## Dependencies\n\n- Notekeeper uses a few simple tools that you probably already have installed.\n  - A text editor (such as *Vim* or *Emacs*)\n  - The `find` program\n  - A program to print files (like `cat`)\n  - Basic programs that should be included in almost all Linux/Unix\n    distributions, including `mkdir`, `touch`, `mv`, `rm`, `echo`, `printf`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdcchambers%2Fnote-keeper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdcchambers%2Fnote-keeper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdcchambers%2Fnote-keeper/lists"}