Contributing to SCCS
Pre-Alpha. SCCS is still in early development and likely has many bugs or missing features. If you discover a bug or would like to suggest a feature, please open an issue with the relevant label. Contributions of all kinds — code, documentation, bug reports, and ideas — are greatly appreciated!
Table of Contents
- Code of Conduct
- Requirements
- Quick Start
- Project Setup
- Find Something to Do
- Development Workflow
- Commit Guidelines
- Pull Requests
- Reporting Bugs & Suggesting Features
- Need Help?
Code of Conduct
By participating in this project, you agree to abide by our Code of Conduct. Please be respectful, welcoming, and constructive in all interactions.
Requirements
- Python 3.12 or higher. Download here.
- All dependencies defined in
requirements.txt. Install withpip install -r requirements.txt. - Git — for version control and submitting changes.
- A GitHub account — to open issues and submit pull requests.
Quick Start
# Clone the Git Repository
git clone https://github.com/SCCS-HQ/legal-contract-version-control.git
# Move into the project directory
cd legal-contract-version-control
# Install all required dependencies
pip install -r requirements.txt
Project Setup
SCCS is a CLI tool. After cloning and installing dependencies, make the commands available on your system:
macOS / Linux
# Copy all repo CLI files to /usr/local/bin/
sudo cp commands/* /usr/local/bin/
# Make the SCCS entrypoint executable
sudo chmod +x /usr/local/bin/sccs
Windows
Setup instructions for Windows are still TBA. If you get SCCS running on Windows, please consider opening a PR to document the steps!
Note: Repositories or clones created with older SCCS versions cannot currently be migrated to newer SCCS versions. Please re-clone the repository or re-initialize SCCS instead.
Find Something to Do
The easiest way to get started is to browse the Issues tab:
- Look for issues labeled good first issue if you're new to the project.
- Check for issues labeled help wanted for tasks we'd love community help with.
- If you have an idea that isn't already tracked, open a new issue to discuss it before starting work.
Development Workflow
- Fork the repository on GitHub.
- Clone your fork locally:
bash git clone https://github.com/<your-username>/legal-contract-version-control.git cd legal-contract-version-control - Create a branch for your work (see Commit Guidelines for naming):
bash git checkout -b feature/my-new-feature - Make your changes, keeping them focused and well-tested.
- Commit your changes following the guidelines below.
- Push your branch to your fork:
bash git push origin feature/my-new-feature - Open a Pull Request against the
mainbranch of the upstream repository.
Commit Guidelines
- Write clear, descriptive commit messages in the imperative mood (e.g.,
Add diff command for tracked files, notAdded diff command). - Keep commits focused — one logical change per commit is easier to review.
- Reference the related issue where applicable (e.g.,
Fix #42: handle empty document on commit).
Branch Naming
Use a short, descriptive prefix:
| Prefix | Purpose |
|---|---|
feature/ |
New features or enhancements |
fix/ |
Bug fixes |
docs/ |
Documentation changes |
test/ |
Adding or updating tests |
refactor/ |
Code changes that don't change behavior |
Pull Requests
- Target the
mainbranch of the upstream repository. - Fill out the PR template and describe what changed and why.
- Link any related issues (e.g.,
Closes #42). - Ensure your code follows the existing style and that the CLI commands still work as expected.
- Be responsive to review feedback — reviews are how we keep the codebase healthy.
Reporting Bugs & Suggesting Features
Before opening a new issue, please search existing issues to avoid duplicates.
- Bugs: Include steps to reproduce, expected behavior, actual behavior, your OS, and Python version.
- Features: Describe the problem you're trying to solve and propose a solution if you have one.
Use the appropriate issue label (bug or enhancement) when creating the issue.
Need Help?
If you get stuck or have questions, feel free to open an issue or reach out. We're happy to help you get your contribution merged!
Thank you for helping make SCCS better!