So, you've found something you'd like to change about the Student Government Bylaws or Amendments. You've come to the right place!
Any questions? Unsure of how to proceed? Reach out to any members of Student Government's Executive Board (the President, Vice President for Finance, and Vice President of Communications). As of the 2023-2024 school year, those members are Leslie Botswick, Kenneth Xiong, and Dakota Chang.
Lines should be wrapped at 80 characters - this is a fairly common standard for code and plaintext files, dating back to the days of punchcards.
An exception to this rule is hyperlinks - they might extend further than 80 characters (the link above is an example).
Here's a good prime number that's eighty digits long (you can use this in a pinch to check if your lines are too long):
18532395500947174450709383384936679868383424444311405679463280782405796233163977
A fair number of code/text editors can also help with checking line length:
vim
has thecolorcolumn
setting](https://superuser.com/questions/249779/how-to-setup-a-line-length-marker-in-vim-gvim) and shows the cursor's line and column in the lower right.atom
displays a line at 80 characters by default, and shows the cursor's line and column in the lower left.vscode
has vertical rulers and shows the cursor's line and column in the lower right of the status bar.
Check out the Linting section for another way to check line length automatically.
Pull request titles should follow the format:
[BA/CA]-[school year]-[amendment number]: [Summary of changes]
- Amendment numbers are iterated for each proposal regardless of success. Check the history of previous PRs to determine what the next number is - note that we index at one (1).
- Amendment numbers are counted independently for the Bylaws and Constitution.
For example, the first bylaw amendment of the 17-18 school year was about
updating CCO procedures and was named
BA-1718-001: CCO by-laws update to reflect current practices
.
A summary of changes should be added to the README in the appropriate location:
- Bylaw Amendments: Student Government By-Laws>Passed Amendments
- Student Government Constitution: Student Government Constitution Constitution>Passed Amendments.
After approving amendments in a session of student government and merging the
appropriate pull requests into the master
branch, the repository should be
"tagged" with a new version, and a release made on GitHub that covers the
changes.
vX.Y.Z
, where X is major overhauls of the documents, Y is modifications that impact how SG operates, and Z is changes that don't impact how student government operates.
More information on the history of this can be found in issue #40.
You can read more about tagging commits and making releases at the GitHub documentation.
Using the remark-lint
project, the
founding documents, README, and this file are checked for consistent:
- line length
- indentation
- linebreaks
- working links to headings
- more!
To use this yourself, you'll need to:
- install
npm
on your machine - open up a terminal to this directory
- run
npm install
andnpm run lint
The .travis.yml
file runs these tests for every commit in the
repository, and will give a warning if a pull request doesn't pass the tests.
To get a copy of the documents in .pdf
, .doc
, or other formats, you can use
the pandoc
program.
The command pandoc -f gfm constitution.md -t latex -o constution.pdf
converts
the constitution into a pdf using a local Latex installation.
Together, the .travis.yml
and Makefile
files
are setup to do this for every release
of the repository. See Versioning the Governing Documents.