Welcome to DevAssistant documentation!

DevAssistant - making life easier for developers


This is documentation for version 0.9.3.

DevAssistant is developer’s best friend (right after coffee).

DevAssistant (http://devassistant.org) can help you with creating and setting up basic projects in various languages, installing dependencies, setting up environment etc. There are four main types of functionality provided:


Please be advised that with version 0.10.0, the modify command changes to tweak.

  • da create - create new project from scratch
  • da modify - take local project and do something with it (e.g. import it to Eclipse)
  • da prepare - prepare development environment for an upstream project or a custom task
  • da task - perform a custom task not related to a specific project

The first three of these have shortcuts for faster use: “create” can be shortened as “crt”, “modify” as “mod” and “prepare” as “prep”.

DevAssistant is based on idea of per-{language/framework/...} “assistants” with hierarchical structure. E.g. you can run:

$ da create python django -n ~/myproject # sets up Django project named "myproject" inside your home dir
$ da create python flask -n ~/flaskproject # sets up Flask project named "flaskproject" inside your home dir
$ da create ruby rails -n ~/alsomyproject # sets up RoR project named "alsomyproject" inside your home dir

DevAssistant also allows you to work with a previously created project, for example import it to Eclipse:

$ da modify eclipse # run in project dir or use -p to specify path

With DevAssistant, you can also prepare environment for developing upstream projects - either using project-specific assistants or using “custom” assistant for arbitrary projects (even those not created by DevAssistant):

$ da prepare custom custom -u scm_url

Warning: The custom assistant executes custom pieces of code from .devassistant file of the project. Therefore you have to be extra careful and use this only with projects whose authors you trust.

Last but not least, DevAssistant allows you to perform arbitrary tasks not related to a specific project:

$ da task <TODO:NOTHING YET>

Should you have some questions, feel free to ask us at Freenode channel #devassistant or on our mailing list (https://lists.fedoraproject.org/mailman/listinfo/devassistant). You can also join our G+ community (https://plus.google.com/u/0/communities/112692240128429771916) or follow us on Twitter (https://twitter.com/dev_assistant).

DevAssistant works on Python 2.6, 2.7 and >= 3.3.

This whole project is licensed under GPLv2+.