-
Notifications
You must be signed in to change notification settings - Fork 9
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:
Enhance which config files Augeas can process, and improve how they are represented in the tree (easy)
Write a GUI tool to view/modify existing configuration files (easy)
Generate schema descriptions of Augeas trees (medium)
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)
Enhance Augeas' ML-like language with various programming language constructs (medium)
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)
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'
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)
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)