mattn/memo
mattn/memo has 1,028 GitHub stars and 79 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-09 12:17 UTC. Last push 2026-05-29.
📓 Memo Life For You
Measured star growth
- in 24h
- 0
- in 7 days
- Update delayed
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
Originalmemo
Memo Life For You

Usage
NAME:
memo - Memo Life For You
USAGE:
memo [global options] command [command options] [arguments...]
VERSION:
0.0.4
COMMANDS:
new, n create memo
list, l list memo
edit, e edit memo
delete, d delete memo
grep, g grep memo
cat, v view memo
config, c configure
serve, s start http server
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--help, -h show help
--version, -v print the version
Installation
$ go install github.com/mattn/memo@latest
Let's start create memo file.
$ memo new
Title:
Input title for the memo, then you see the text editor launched. After saving markdown, list entries with memo list.
$ memo list
2017-02-07-memo-command.md : Installed memo command
And grep
$ memo grep command
2017-02-07-memo-command.md:1:# Installed memo command
Configuration
run memo config.
memodir = "/path/to/you/memo/dir" # specify memo directory
memotemplate = "path/to/tmpl.txt" # optional memo template file. default '~/.config/memo/template.txt'
editor = "vim" # your favorite text editor
column = 30 # column size for list command
selectcmd = "peco" # selector command for edit command
grepcmd = "grep -nH" # grep command executable
assetsdir = "/path/to/assets" # assets directory for serve command
pluginsdir = "path/to/plugins" # plugins directory for plugin commands. default '~/.config/memo/plugins'.
memodir, memotemplate and assetsdir can be used ~/ prefix or $HOME or OS specific environment variables. editor, selectcmd and grepcmd can be used placeholder below.
| placeholder | replace to |
|---|---|
| ${FILES} | target files |
| ${DIR} | same as memodir |
| ${PATTERN} | grep pattern |
Memo Template
You can use memo template using Go's text/template format. A template receives the following attributes.
- Title
- Date (format: %Y-%m-%d %H:%M)
- Categories (always empty)
- Tags (always empty)
The following is a template example to apply YAML Frontmatter.
---
title: {{.Title}}
date: {{.Date}}
---
{{.Title}}
===========
You can also use glidenote/memolist.vim's template format like following.
title: {{_title_}}
==========
date: {{_date_}}
tags: [{{_tags_}}]
categories: [{{_categories_}}]
----------
Supported GrepCmd
| Command | Configuration |
|---|---|
| GNU Grep | grepcmd = "grep -nH" #default |
| ag | grepcmd = "ag ${PATTERN} ${DIR}" |
| jvgrep | grepcmd = "jvgrep ${PATTERN} ${DIR}" |
Supported SelectCmd
| Command | Configuration |
|---|---|
| gof | selectcmd = "gof" |
| cho | selectcmd = "cho" |
| fzf | selectcmd = "fzf" |
Extend With Plugin Commands
You can extend memo with custom commands.
Place an executable file in your pluginsdir, memo can use it as a subcommand.
For example, If you place foo file in your pluginsdir, you can run it by memo foo.
Below is spec of plugins:
- MUST handle
-usageoption to show briefly, at least. - MUST NOT handle
--xxxoption. - MUST NOT use multi-byte strings in the usage.
License
MIT
Author
Yasuhiro Matsumoto (a.k.a. mattn)
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
561,362 starspublic-apis/public-apis
A collective list of free APIs
497,613 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
446,984 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,258 stars