.\" Copyright Petr Hracek, 2013
.\"
.\" This page is distributed under GPL.
.\"
.TH DA 1 2014-04-04 "" "Linux User's Manual"
.SH NAME
{binary} \- setup development environment and create basic projects in various
languages

.SH SYNOPSIS
\fB{binary} [--debug] [--no-cache] [ ASSISTANT_TYPE ] [ OPTIONS ] [[ SUBASSISTANT ] [OPTIONS] ...]

\fB{binary} [--debug] [--no-cache] [ ACTION ] [ OPTIONS ]

.SH DESCRIPTION
{desc}\fB{binary}\fP is the main command of DevAssistant. It is responsible for dispatching
commandline calls to assistants or actions. It accepts some optional flags:

.TP
.B --debug
makes DevAssistant log lots of debugging information
.TP
.B --no-cache
makes DevAssistant read all individual assistants and completely ignore cache

.SH DESCRIPTION - ASSISTANT_TYPE
DevAssistant can help you with various tasks during development. The tasks
are carried out by so called "assistants" - there are four types of assistants:

\fBcreate\fP - create new projects, install dependencies and setup environment
.br
\fBmodify\fP - modify previously created projects (e.g. import them to Eclipse)
.br
\fBprepare\fP - prepare development environment for an upstream project
.br
\fBtask\fP - carry out a custom task not related to a specific project

You can shorten "create" to "crt", "modify" to "mod" and "prepare" to "prep".

Each assistant type can have many associated assistants (e.g. python, ruby)
and each assistant can have many associated subassistants (e.g. django, flask).
You can display these (and also other options) by running e.g. \fB{binary} crt -h\fP
and \fB{binary} crt python -h\fP. Once you select the desired assistant (and its
subassistants), just run it, e.g. \fB{binary} crt python django -n newproject\fP.

The list of assistants and their functionality may vary depending on
your installation - just run help to see currently available assistants.

.SH DESCRIPTION - ACTION
DevAssistant is designed to also provide custom functionality through so-called
actions. Currently, these contain:

\fBhelp\fP - display verbose help.
.br
\fBversion\fP - display devassistant version.

Again, to show options, just use \fB-h\fP with the action, e.g. \fB{binary} version -h\fP.

.SH COMMON OPTIONS
There are some commonly used options shared among many assistants. Their usual
meaning is explained below:
.TP
.B \-h --help
print help for selected assistant.
.TP
.B \-n --name
name of the project (relative or absolute path).
.TP
.B \-e --eclipse
import project into
.I eclipse
environment. Uses ~/workspace workspace by default, can be overriden by
specifying another path.
.TP
.B \-g --github <username>
create a GitHub repo and push the initial sources there. Uses current system
username as GitHub username, unless specified otherwise. The GitHub projectname is
taken from the \fBname\fP parameter.
.TP
.B \-b --build
generate a SPEC file, SRPM and mock-build RPM.
.TP
.B \-v --vim
install vim settings specific for this language (backs up your original vim settings)

.SH ENVIRONMENT
.TP
.B DEVASSISTANT_PATH
A colon-separated list of directories in which to search for assistants.
Searched in before the standard paths. If multiple assistants with the same
name are found only the first of them will be used.

.SH "SEE ALSO"
{seealso}.BR da-gui (1)
