Skip to content

Commit bb8132e

Browse files
committed
dev instructions
1 parent e525ff6 commit bb8132e

File tree

1 file changed

+49
-1
lines changed

1 file changed

+49
-1
lines changed

doc/index.rst

Lines changed: 49 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,59 @@ or to test the installed package::
4949

5050
.. _pytest: https://docs.pytest.org/
5151

52-
Your contributions are welcome! Simply fork the `GitHub repository <https://github.com/python-control/python-control>`_ and send a
52+
.. rubric:: Contributing
53+
54+
Your contributions are welcome! Simply fork the `GitHub repository <https://github.com/python-control/python-control>`_ and send a
5355
`pull request`_.
5456

5557
.. _pull request: https://github.com/python-control/python-control/pulls
5658

59+
The following details suggested steps for making your own contributions to the project using GitHub
60+
61+
1. Fork on GitHub: login/create an account and click Fork button at the top right corner of https://github.com/python-control/python-control/.
62+
63+
2. Clone to computer (Replace [you] with your Github username)::
64+
65+
git clone https://github.com/[you]/python-control.git
66+
cd python_control
67+
68+
3. Set up remote upstream::
69+
70+
git remote add upstream https://github.com/python-control/python-control.git
71+
72+
4. Start working on a new issue or feature by first creating a new branch with a descriptive name::
73+
74+
git checkout -b <my-new-branch-name>
75+
76+
5. Write great code. Suggestion: write the tests you would like your code to satisfy before writing the code itself. This is known as test-driven development.
77+
78+
6. Run tests and fix as necessary until everything passes::
79+
80+
pytest -v
81+
82+
(for documentation, run ``make html`` in ``doc`` directory)
83+
84+
7. Commit changes::
85+
86+
git add <changed files>
87+
git commit -m "commit message"
88+
89+
8. Update & sync your local code to the upstream version on Github before submitting (especially if it has been awhile)::
90+
91+
git checkout master; git fetch --all; git merge upstream/master; git push
92+
93+
and then bring those changes into your branch::
94+
95+
git checkout <my-new-branch-name>; git rebase master
96+
97+
9. Push your branch to GitHub::
98+
99+
git push origin <my-new-branch-name>
100+
101+
10. Issue pull request to submit your code modifications to Github by going to your fork on Github, clicking Pull Request, and entering a description.
102+
11. Repeat steps 5--9 until feature is complete
103+
104+
57105
.. rubric:: Links
58106

59107
- Issue tracker: https://github.com/python-control/python-control/issues

0 commit comments

Comments
 (0)