Project preview: Banco28 Jan 2020
For the last few months I’ve been working to a new project called Banco. Banco is a project management tool for the command line written in Go, built in a way that it enforces my own way of organizing projects’ resources like notes, tasks, bookmarks and documents. I will be writing more about this project in the next weeks, for now I will just paste the README here. Find it on github.com/claudiodangelis/banco.
Banco Management System, or simply Banco, is an opinionated project management tool for the command line that helps you organize notes, tasks, bookmarks and documents for your projects.
Banco objects (notes, tasks, bookmarks, etc) are stored in the filesystem, implemented as plain text files and folders within the root of the project, so you won’t need to install or run any database or server. This enables you to easily create archives and backups, move projects around the filesystem, use command line tools, or keep track of changes by using version control.
The name “Banco” is a tribute to Banco Del Mutuo Soccorso, the best italian progressive rock band of all times.
You can install Banco with Go:
go get github.com/claudiodangelis/banco
or by downloading the latest binary release.
Banco needs almost no configuration to get started. You only need to make sure that the two following environment variables are set:
Banco will use the first to open plain text files (notes, tasks), and the second for the bookmarks.
Banco’s features are built as modules, there are modules available for management of:
and, soon, secrets.
A typical Banco project looks like this on the filesystem:
16:14:25 /tmp/banco-test $ tree -QA . ├── "bookmarks" │ ├── "AWS" │ │ └── "instances" │ └── "github page" ├── "documents" ├── "notes" │ ├── "My First Note" │ └── "ideas" │ ├── "discarded" │ │ └── "code repositories" │ └── "secrets management" └── "tasks" ├── "backlog" │ └── "Write README" ├── "doing" │ └── "Take screenshots" └── "done" └── "Implement modules" 10 directories, 8 files
The above, in Banco, is rendered like this:
Notes are just plain text files stored in the
notes folder. If you set a label for the note, it will be implemented as a subfolder of the
notes folder. When opening a note with banco, the
$EDITOR value will be used to open the file.
There are two ways to represent a task: a plain text file, or a folder of files. “Tasks” module has no concept of labels, instead it uses “statuses”. First-level subfolders will be considered statuses of the tasks. When you create a new task, you will be asked which one you want to create it into. By default, Banco creates
done. When opening a task with Banco, the
$EDITOR value will be used to open the file (or the folder).
Just like notes, bookmarks are plain text files whose content is an URL. You can group bookmarks by labels. When opening a bookmark with banco, the
$BROWSER value will be used to open the URL.
Everything which cannot be organized as a note, task or bookmark is a document. When opening a document with Banco, the
xdg-open program will be used to open the file.
After installing Banco, create an empty folder, enter it, then run
mkdir my-project cd my-project banco init
Banco will create the folder structure, and you will be ready to get started.
Command line interface
Banco uses a consistent command line interface. From the command line interface you can create, open, update, list and delete objects:
banco [command] [module]
Create a new note
banco new note
You will be able to enter the title of the note and, optionally, a label. If the label doesn’t exist, you can create it from there:
Update a task
banco update task
After choosing the task you want to update, you will be able to update its attributes:
||Initializes a new Banco project|
||List available modules|
||Shows the root of the notes module. After choosing a note, you can choose what to do with it: open, update, delete|
||Shows the root of the tasks module. After choosing a task, you can choose what to do with it: open, update, delete|
||Shows the root of the bookmarks module. After choosing a bookmark, you can choose what to do with it: open, update, delete|
||Shows the root of the documents module. After choosing a document, you can choose what to do with it: open, update, delete|
||Shows the “create” view for the module|
||Shows the “update” view for the module|
||Lists modules’ items|
||Shows the “delete” view for the module|
||Shows the “open” view for the module|
||Shows the “update” view for the module|
||Prints a summary of available commands|
Banco is created by Claudio d’Angelis.