NAME

hrpg - hrpg - Command line interface to HabitRPG

VERSION

version 0.15

SYNOPSIS

Usage:

hrpg status                  : Show current HP/XP/GP
hrpg tasks                   : Show current tasks
hrpg habit|daily|reward|todo : Show tasks of current type
hrpg new                     : Create new task 'hrpg new' for help.
hrpg [+-][num] task          : Increment/decrement a task or habit
hrpg history task            : Show the history of a task
hrpg show task               : Show detailed info about a task

Debugging commands:

hrpg version                 : Show version information
hrpg dump                    : Dump entire user info
hrpg dump tasks              : Dump task info

DESCRIPTION

This is a command-line client for the HabitRPG service. Use hrpg with no arguments for help.

When using the + and - commands, any unique shortening of a task name can be used. When using history and show, all tasks matching the name specified will be displayed.

The --beta switch may be provided as a first argument to use the beta API server. The --dev switch may be used to use http://localhost:3000/api/v1 as the server.

SETUP

Installation

If you have not already installed this software, the easiest way is to use cpanm and local::lib. If you don't have them installed, it's easy with:

curl -L http://cpanmin.us/ | perl - --self-upgrade
~/perl5/bin/cpanm -L ~/perl5 App::local::lib::helper
source ~/perl5/bin/localenv-bashrc

You might want to put that last line in your ~/.bashrc file.

You can then install hrpg and related utilities with:

cpanm hrpg

Configuration

Create a .habitrpgrc file in your home directory. Place in it the following lines:

[auth]
user_id   = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
api_token = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Replace the long strings of 'x's with the values you obtain by going to Settings - API> in the HabitRPG web interface.

You may also have an [auth-dev] and/or [auth-beta] section, if you use a development or beta server and have different credentials there. Most users will never need this.

On some systems, the default-behaviour of using keep-alives (which normally improve performance) causes troubles. You can disable keep-alives by adding the following to your .habitrpgrc:

[connection]
keep_alive = 0

EXPERIMENTAL FEATURES

These features are considered experimental, and may change in the future.

INTEGRATION WITH IDONETHIS

If you have WebService::Idonethis installed, then you can add items to your done-list at the same time as you complete habits. This is done by adding an extra argument to the + or - calls to hrpg:

hrpg + bugfix   "Recalibrated the flux capacitor."
hrpg - junkfood "Won the local doughnut eating competition."

This integration is extraordinarily simple for now. We simply call out to the idone command-line tool with all additional arugments given. If you're an idone power user, this means you can use switches like -l.

If WebService::Idonethis is not installed, any additional arguments to habit reporting are ignored.

CUSTOM ATTRIBUTES

Additional arguments after the value to hrpg new are considered to be custom arguments that are sent to the API. These must be key/value pairs, which are encoded into JSON and passed directly as-is, without any sanity checking. These can allow tasks to be created that may hook into new features on the server, or which contain additional information which is not used by the main HabitRPG servers.

ENVIRONMENT

If the HRPG_API_BASE environment variable is set, it will be used as the API base URL. This may be useful in testing, or when working with other servers.

BUGS

I'm sure there are plenty! Please view and/or record them at https://github.com/pjf/WebService-HabitRPG/issues .

SEE ALSO

WebService::HabitRPG

AUTHOR

Paul Fenwick <pjf@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2013 by Paul Fenwick.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.