Skip to content

Add Linting Infrastructure and CI/CD Pipeline (and Prettier reformatting)#16

Merged
siyovush-hamidov merged 3 commits into
mainfrom
feat/linting
Feb 6, 2026
Merged

Add Linting Infrastructure and CI/CD Pipeline (and Prettier reformatting)#16
siyovush-hamidov merged 3 commits into
mainfrom
feat/linting

Conversation

@bakiberkay
Copy link
Copy Markdown
Collaborator

This PR implements the linting infrastructure and CI/CD pipeline requirements, addressing issues #10 and #7

1. Linting Infrastructure

  • Added Husky 9.1.7 + lint-staged for pre-commit hooks
  • Added Prettier 3.8.1 with .prettierrc configuration file
  • Integrated eslint-config-prettier to prevent ESLint/Prettier rule conflicts
  • Added Solhint 6.0.3 for Solidity linting with .solhint.json configuration. NOTE: Solhint uses relaxed rules currently, as the contracts require major reformatting to align with default configuration.

2. CI/CD Pipeline

  • Structured workflow to lint -> test -> build with contract deployment step to follow
  • Added ci.yml for the flow
  • Added frontend build step (npm run build) to verify build succeeds
  • Updated to Node.js 22.12.0 in the Dockerfile to match across all environments.

3. Documentation

  • Created CI_CD.md with pipeline documentation and troubleshooting, and also future work
  • Updated BUILD.md with Development Workflow section explaining pre-commit hooks
  • Updated README.md with root npm install step for Husky setup

4. Commit Structure

  • Commit 1: Infrastructure and configuration files; this is the main commit, including all the relevant files
  • Commit 2: Prettier formatting changes only. Prettier formating caused ALL existing .ts files to get reformatted. However, there are not functional changes, not necessary to review if not for testing purposes

bakiberkay and others added 3 commits February 5, 2026 22:42
Add Husky for precommit hooks
Add Prettier with .prettierrrc config
Add Solhint for Solidity linting with relaxed rules for now
Update Node.js to 22.12.0 in Dockerfile
Add detailed documentation (CI_CD.md) and modify existing ones to reflect the changes (BUILD.md , README.md)
Integrate eslint-config-prettier to prevent rule conflicts
@siyovush-hamidov siyovush-hamidov merged commit ee6db2c into main Feb 6, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants