Taking terminal-centric development to the next level
C Makefile Python M4 Shell
Permalink
Failed to load latest commit information.
cli
common host-command.c: Fix piping stdout Jan 27, 2017
data
m4 Initial import Aug 2, 2016
po
src Add missing commits for creation screen Jan 28, 2017
ABOUT-NLS
CONTRIBUTING.md
Makefile.am
NEWS
README.md
autogen.sh Initial import Aug 2, 2016
configure.ac
flatpak.sh Add a flatpak manifest and a development build script Jan 27, 2017
git.mk
org.gnome.PurpleEgg.json
setuptools-configure
setuptools-makefile

README.md

PurpleEgg

PurpleEgg is an experiment in taking terminal-centric development to the next level. It's basic features are:

  • Understanding of common project conventions for different languages and frameworks
  • Creating temporary containers to install the dependencies for a project based on a configuration file (pegg.yaml)
  • Creating a terminal user interface where projects are first class, and windows are tied to projects.

Installing via flatpak

If you have flatpak 0.6.13 or later installed on your system, run:

flatpak install https://people.gnome.org/~otaylor/PurpleEgg.flatpakref

Authorizing Docker Commands

PurpleEgg needs the ability to run docker commands on your behalf. Currently, for PurpleEgg to work properly, your user must be added to the docker group. You should realize that if your user is added to the docker group, then you and malicious attacker with access to your user account will be able to execute commands as root with no further authorization. In most development scenarios, uncontrolled access to the user account is as serious as uncontrolled root access, but hopefully we will be able to find a better solution to this issue in the future.

Command line usage

The PurpleEgg command line client is pegg

pegg create <template> <projectname>: create a new project from the specified template. (Currently template is hardcoded to django!)

pegg shell: start a shell in the current directory, adjusting the path to pick up local binaries for Python virtual environments, local npm installs, and so forth. The shell is inside a docker container if pegg.yaml is found.

pegg run: Run an arbitrary command in the environment of pegg shell

License and Copyright

PurpleEgg is copyright Owen Taylor otaylor@fishsoup.net and licensed under the terms of the GNU General Public License, version 2 or later.