-
Notifications
You must be signed in to change notification settings - Fork 61
New Developers
This is intended to be a very high level guide for new developers who wish to begin development on the K framework.
Create a github account if you don't already have one, and request that one of the owners of the kframework organization (e.g. @dwightguth) add you to the organization. This will keep you updated on new issues and pull requests, and allow your pull requests to be tested automatically
Go to http://lists.cs.uiuc.edu/mailman/listinfo and request to be added to the k-user and k-list mailing lists. You should also be added to a mailing list for the organization you belong to (i.e. fsl or rv). Talk to @grosu or @dwightguth if you are unsure which you belong to.
If you want to be able to trigger and cancel builds on Jenkins, for example if two builds of the same pull request are in the queue at once, please email @dwightguth and he will provide you with an account on the Jenkins machine.
The github web interface doesn't provide a way to search the project wiki (as of Aug 2015). One option is to download a local copy of the wiki, and use an interface that allows search. The wiki content is stored in git, and github released a standalone copy of their wiki software which does include search, gollum. This requires ruby, and can be used as follows:
# Install gollum
gem install gollum
# Check out the wiki
git clone git://github.com/k-framework/k.wiki.git wiki
# Start Gollum.
cd path/to/wiki
gollum
Then open a browser to http://localhost:4567/ and you should find a searchable copy of the K wiki. I haven't tried editing through that interface or pushing commits, but being able to search the wiki is nice.
(instructions based on http://bdunagan.com/2011/10/19/searching-github-wikis-with-gollum/)
Follow the instructions [here](Git Faq) to set up git on your machine. Then follow the instructions here to set up K on your machine.
Talk to @grosu or @dwightguth for ideas if you are unsure what you might want to work on.
If you run into an issue while developing or using K, either fix it yourself, or file a bug report and assign it to someone associated with that part of the project.
Some basic principles for who to assign bug reports to:
- Verification: @andreistefanescu
- Java Rewrite Engine: @yilongli
- Parser: @radumereuta
- KTest: @osa1
- Maude backend: @traiansf
- Coq backend: @bmmoore
- All other issues: assign to @dwightguth and he will determine who should work on the issue.
Please make your bug reports concise, easy to reproduce, and as factual as possible. For resources on writing good bug reports, see here