MyNixOS website logo
Description

A CLI assistant.

A CLI-based "personal assistant." It will keep journal entries, remind you of things, remind others of things, keep dates for you, etc.

puffytools, version 0.0.0.1

This is the Puffy Toolkit, or Ptk. Ptk is a command-line "personal assistant", of sorts. Currently, it will keep journals. I'm adding more functionality as I can. Pull requests are welcome, although do read the "Development version" section below.

Installation and usage

You can install the experimental version from Hackage. If you use Windows or OS X, you'll need to install the Haskell Platform. On Linux or BSD, your distribution should have the packages ghc and cabal-install. The GHC version must be 7.8 or later. Install those, then run:

cabal update
cabal install puffytools

If the installation fails, you may need to install an updated version of cabal-install, alex, and happy:

cabal install cabal-install alex happy
cabal install puffytools

Development version

If you want the development version, the steps are a bit different.

git clone git://github.com/pharpend/puffytools.git -b develop
cd puffytools
cabal sandbox init
cabal install --enable-tests

I use gitflow as a branching model, so read about that if you have never heard about it. I don't particularly care what branching model you use, as long as you don't commit to the master or develop branches.

Usage

ptk
The Puffy Toolkit, version 0.0.0

  j
  Same as journal.
  
    add_entry slug STRING
    Add an entry to journal with a given slug. The second argument is the entry text.
    
    
    ae slug STRING
    Same as add_entry
    
    
    cat slug
    Output the raw journal
    
    
    list
    List all of the available journals
    
    
    ls
    Same as list
    
    
    list_entries JOURNAL_SLUG
    List the entries in a given journal
            --time-format=STRING,
      --strftime=STRING          The format with which to print timestamps. See `man strftime` for more information.
    
    
    le JOURNAL_SLUG
    Same as listEntries
            --time-format=STRING,
      --strftime=STRING          The format with which to print timestamps. See `man strftime` for more information.
    
    
    new
    Create a new journal
      -sSTRING,
      -nSTRING --slug=STRING,
      --name=STRING                 The slug/short name of the journal.
      -tSTRING --title=STRING       The title of the journal
      -dSTRING --description=STRING The journal Description
    
    
    help
    Show help for the journal module
    
    
  
  journal
  Do things with Journals
  
    add_entry slug STRING
    Add an entry to journal with a given slug. The second argument is the entry text.
    
    
    ae slug STRING
    Same as add_entry
    
    
    cat slug
    Output the raw journal
    
    
    list
    List all of the available journals
    
    
    ls
    Same as list
    
    
    list_entries JOURNAL_SLUG
    List the entries in a given journal
            --time-format=STRING,
      --strftime=STRING          The format with which to print timestamps. See `man strftime` for more information.
    
    
    le JOURNAL_SLUG
    Same as listEntries
            --time-format=STRING,
      --strftime=STRING          The format with which to print timestamps. See `man strftime` for more information.
    
    
    new
    Create a new journal
      -sSTRING,
      -nSTRING --slug=STRING,
      --name=STRING                 The slug/short name of the journal.
      -tSTRING --title=STRING       The title of the journal
      -dSTRING --description=STRING The journal Description
    
    
    help
    Show help for the journal module
    
    
  
  help
  Show this help menu.
  
  
  version
  Print the version to the console. Meant for use in other programs.
  
  
  shell
  PTK REPL (Expiremental).

Licensing

Like most Haskell packages, Ptk is licensed under the BSD-3 license. You can see the LICENSE file for more information.

    
Metadata

Version

0.0.0.1

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows