This document outlines the basic structure and tooling for our project. Most of the tools referenced here are adopted from the fuel-core repository, along with several standard Rust libraries.
To align with our current development flow, I have implemented some essential checks that require specific tools:
commitizen - Standardizes commit messages using the Conventional Commits specification
Changes Made
Tooling Setup:
Integrated pre-commit to enforce pre-commit hooks and ensure adherence to conventional commits.
Configured rustfmt for automatic code formatting to maintain a consistent style.
Set up clippy to lint Rust code and catch common mistakes and stylistic issues.
Added commitizen to help create standardized commit messages.
Project Structure:
Established a basic workspace structure to organize the project files and directories effectively.
Documentation:
Created a detailed README to provide an overview of the project, installation instructions, and usage guidelines.
Added a comprehensive CONTRIBUTING guide to assist contributors in setting up the project locally, adhering to code conventions, and using essential tools like commitizen for standardized commit messages.
Tasks
[x] Set up basic tooling for CI checks
[x] Create basic workspace structure
[x] Add README and CONTRIBUTING documentation
[x] Improve GitHub-related configuration
[x] Remove main source files and adjust project license
[x] Improve Makefile
[x] Set up Commitizen for standardized commit messages
[x] Update pre-commit configuration
[x] Adjust GitHub actions and pre-commit hooks
How to Test
Clone the repository and navigate to the project directory:
git checkout pn/chore/init-setup
Run the setup command to install the necessary tools:
make setup
Verify that pre-commit hooks are installed and working by attempting to make a commit. The hooks should run automatically and enforce the defined checks.
Use Commitizen to create a commit message:
cz commit
Commitizen will guide you through the process of creating a standardized commit message.
⭐ Closes #2
Description
This document outlines the basic structure and tooling for our project. Most of the tools referenced here are adopted from the fuel-core repository, along with several standard Rust libraries.
To align with our current development flow, I have implemented some essential checks that require specific tools:
Changes Made
Tooling Setup:
pre-commit
to enforce pre-commit hooks and ensure adherence to conventional commits.rustfmt
for automatic code formatting to maintain a consistent style.clippy
to lint Rust code and catch common mistakes and stylistic issues.commitizen
to help create standardized commit messages.Project Structure:
Documentation:
README
to provide an overview of the project, installation instructions, and usage guidelines.CONTRIBUTING
guide to assist contributors in setting up the project locally, adhering to code conventions, and using essential tools likecommitizen
for standardized commit messages.Tasks
How to Test
Clone the repository and navigate to the project directory:
Run the setup command to install the necessary tools:
Verify that
pre-commit
hooks are installed and working by attempting to make a commit. The hooks should run automatically and enforce the defined checks.Use
Commitizen
to create a commit message:Commitizen will guide you through the process of creating a standardized commit message.