Smart Contract Projects
Repository Structure
main-project/ (Node/TypeScript/Hardhat)
βββ contracts/<contract-repo>/ (Git submodule - Solidity contracts)
βββ diamonds/<DiamondContractName>/ (Git submodule - Deployment records & config)
βββ scripts/
βββ tests/
βββ package.json
βββ tsconfig.json
βββ hardhat.config.tsBranch Strategy
Main Repositories (Parent + Both Submodules)
Core Branches
Supporting Branches
Naming Conventions
Branch Names
Commit Messages
Tags
Workflow Process
1. Feature Development
2. Pull Request Requirements
PR Title Format
Required PR Checks
PR Template
3. Submodule Management
Updating Submodules in Parent
Submodule Workflow Rules
4. Release Process
Creating a Release
GitHub Integration
Branch Protection Rules
Main Branch
Develop Branch
GitHub Actions Workflow
Issue and Project Integration
Issue Labels
Last updated