Skip to content

jm-janzen/notes-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Notes CLI

Basic Setup

git clone git@github.com:jm-janzen/notes-cli.git

Basic Usage

./bin/notes [args...]

High-Level Project Layout

notes-cli/
├── notes/                  # Entrypoint  src
│   ├── core/               # Application src
│   │   ├── book/           # Abstraction of notes dir
│   │   ├── commands/       # CLI command scripts (1 per)
│   │   ├── utils/          # Generic helper modules
│   │   ├── cli.py          # CLI parser, consumer: command_ctl
│   │   ├── command_ctl.py  # Abstraction of commands/*
│   │   └── config.py       # Abstraction of config.cfg
│   ├── config.cfg          # Application configurations (plain text)
│   └── main.py             # Entrypoint
├── README.mkd              # This document
└── requirements.txt        # Application requirements

Basic Control Flow

main.py vec *argv                                    # Build Book, Config; pass *argv along to CLI
`--> cli.py vec *argv                                # Build help, usage; parse *argv (check is valid)
     `--> command_ctl.py str command, str[] parms    # Build commands, parse *argv grammar (check is logical)
	      `--> commands/<command>.py str[] parms     # Execute command using given parms (if any)