Project Ideas
There are a wide variety of interesting projects to enhance Augeas itself or build tools on top of it. Depending on the specific project, required skills range from learning the ins and outs of specific config files to python scripting or the ability to solve hard research problems. Some examples of possible projects:
Contents |
Coverage of config files
Enhance which config files Augeas can process, and improve how they are represented in the tree (easy)
GUI frontend
Write a GUI tool to view/modify existing configuration files (easy)
Generate schemas
Generate schema descriptions of Augeas trees (medium)
Adapt existing config tools
Enhance existing config tools (like the system-config-*) tools to use Augeas as a backend (medium)
Write and enhance integration of Augeas with config management systems like puppet, bcfg2 or cfengine (medium)
Language extensions
Enhance Augeas' ML-like language with various programming language constructs (medium)
DBus service
Write a DBus service based on Augeas and PolicyKit to allow config file modifications by normal user processes, restricting them to changes of very specific values (medium)
Regexp matcher
Write a matcher for Augeas' finite automata library. It would be very interesting to base that on the notion of derivatives as explained in this paper There's a good chance that this would produce an extremely fast matcher (comparable to the best known matchers like PCRE) (medium/hard)
This would also produce a matcher that supports operations that none of the matchers I know of supports, like intersection and difference of regular expressions, like matching [a-z]* - 'oneword'
Tree matching
Change the tree -> file transform to match on entire trees instead of just one level in the tree. Requires interest in learning about tree automata (hard)
Tree transformations
Add constructs to Augeas that allow for bidirectional tree transformations; that would transform the current representation of a file (which is somewhat close to its syntax) to one that reflects the semantics of the file (hard)


