Skip to content

Commit

Permalink
Update CONTRIBUTING.md
Browse files Browse the repository at this point in the history
  • Loading branch information
pitmonticone committed Oct 16, 2024
1 parent d0bdc0a commit 03643c6
Showing 1 changed file with 34 additions and 7 deletions.
41 changes: 34 additions & 7 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
# Contributing to the FLT Project

Thank you for your interest in contributing to the FLT Project! This guide provides detailed instructions on how to effectively and efficiently contribute to the project.
Thank you for your interest in contributing to the FLT Project!
This guide provides detailed instructions on how to effectively and efficiently contribute to the project.

## Project Coordination

The project is managed using a [GitHub project dashboard](#), which tracks tasks through various stages, from assignment to completion.
The project is managed using a [GitHub project dashboard](https://github.com/orgs/ImperialCollegeLondon/projects/102), which tracks tasks through various stages, from assignment to completion.

## How to Contribute

Contributions to the project are made through GitHub pull requests (PRs) that correspond to specific tasks outlined in the project's issues. The following instructions detail the process for claiming and completing tasks.
Contributions to the project are made through GitHub pull requests (PRs) that correspond to specific tasks outlined in the project's issues.
The following instructions detail the process for claiming and completing tasks.

### 1. Task Identification

Expand All @@ -25,23 +27,48 @@ Contributions to the project are made through GitHub pull requests (PRs) that co

Once you are assigned to an issue, begin working on the corresponding task. You should create a new branch from the `main` branch to develop your solution.

> [!WARNING]
> Before pushing any changes, you have the following options:
>
> - You might want to install the git pre-push hook by running:
>
> ```bash
> scripts/install_pre-push.sh
> ```
> This will automatically run checks before every push, reducing the risk of CI check failures.
>
> - You can manually run the following script before pushing, reducing the risk of CI check failures:
>
> ```bash
> scripts/run_before_push.sh
> ```
> This requires manual execution and won't stop the push if skipped.
>
> - You may push your changes without any safeguards, increasing the risk of CI check failures.
### 4. Submitting a Pull Request
- When you are ready to submit your solution, create a PR from your working branch to the project’s `main` branch.
- After submitting the PR, comment the single phrase `propose PR #PR_NUMBER` on the original issue. This links your PR to the task, and the task will move to the `In Progress` column on the dashboard.
- After submitting the PR, comment `propose #PR_NUMBER` on the original issue. This links your PR to the task, and the task will move to the `In Progress` column on the dashboard.
- A task can only move to `In Progress` if it has been claimed by the user proposing the PR.
### 5. Withdrawing or Updating a PR
- If you need to withdraw your PR, comment the single phrase `withdraw PR #PR_NUMBER` on the issue. The task will return to the `Claimed` column, but you will remain assigned to the issue.
- To submit an updated PR after withdrawal, comment the single phrase `propose PR #NEW_PR_NUMBER` following the same process outlined in step 4.
- If you need to withdraw your PR, comment the single phrase `withdraw #PR_NUMBER` on the issue. The task will return to the `Claimed` column, but you will remain assigned to the issue.
- To submit an updated PR after withdrawal, comment `propose #NEW_PR_NUMBER` following the same process outlined in step 4.
### 6. Review Process
- After finishing the task and ensuring your PR is ready for review, comment the single word `awaiting-review` on the PR. This will add the `awaiting-review` label to your PR and move the task from `In Progress` to the `In Review` column of the dashboard.
- After finishing the task and ensuring your PR is ready for review, comment `awaiting-review` on the PR. This will add the `awaiting-review` label to your PR and move the task from `In Progress` to the `In Review` column of the dashboard.
- The project maintainers will review the PR. They may request changes, approve the PR, or provide feedback.
### 7. Task Completion
- Once the PR is approved and merged, the task will automatically move to the `Completed` column.
- If further adjustments are needed after merging, a new issue will be created to track additional work.
### Additional Guidelines and Notes
1. Please adhere to the issue claiming process. If an issue is already assigned to another contributor, refrain from working on it without prior communication with the current claimant. This ensures a collaborative and respectful workflow that values each contributor’s efforts.
2. Be aware that this contribution process is still in an experimental phase. As a result, occasional issues and inefficiencies may arise. We are committed to continuously refining the process, and your constructive feedback is highly appreciated. You can share your thoughts and suggestions on the [Lean Zulip chat channel](https://leanprover.zulipchat.com/#narrow/stream/416277-FLT).
3. Until the integration of sufficient CI automation, the management of the project dashboard is handled manually by the maintainers. We ask for your patience and understanding as we work to keep the process running smoothly.

0 comments on commit 03643c6

Please sign in to comment.