mirror of
https://github.com/Dr-Blank/Vaani.git
synced 2026-07-07 09:51:34 +00:00
add submodule info
This commit is contained in:
parent
502e838668
commit
f153a34d9b
1 changed files with 84 additions and 20 deletions
102
CONTRIBUTING.md
102
CONTRIBUTING.md
|
|
@ -13,10 +13,80 @@ We appreciate your interest in contributing to Vaani. This guide will help you n
|
||||||
|
|
||||||
2. **Create a Detailed Bug Report**:
|
2. **Create a Detailed Bug Report**:
|
||||||
- Provide:
|
- Provide:
|
||||||
|
|
||||||
* Exact steps to reproduce
|
* Exact steps to reproduce
|
||||||
* Relevant error logs or screenshots
|
* Relevant error logs or screenshots
|
||||||
|
|
||||||
|
### Submodule Contribution Workflow 🧩
|
||||||
|
|
||||||
|
#### Understanding Vaani's Submodule Structure
|
||||||
|
|
||||||
|
Vaani uses Git submodules to manage interconnected components. This means each submodule is a separate Git repository nested within the main project.
|
||||||
|
|
||||||
|
#### Working with Submodules
|
||||||
|
|
||||||
|
1. **Identifying Submodules**:
|
||||||
|
- List all submodules in the project
|
||||||
|
```bash
|
||||||
|
git submodule status
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **Initializing Submodules**:
|
||||||
|
```bash
|
||||||
|
# Ensure all submodules are initialized
|
||||||
|
git submodule update --init --recursive
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **Contributing to a Specific Submodule**:
|
||||||
|
|
||||||
|
a. **Navigate to Submodule Directory**:
|
||||||
|
```bash
|
||||||
|
cd path/to/submodule
|
||||||
|
```
|
||||||
|
|
||||||
|
b. **Create a Separate Branch**:
|
||||||
|
```bash
|
||||||
|
git checkout -b feature/your-submodule-feature
|
||||||
|
```
|
||||||
|
|
||||||
|
c. **Make and Commit Changes**:
|
||||||
|
```bash
|
||||||
|
# Stage changes
|
||||||
|
git add .
|
||||||
|
|
||||||
|
# Commit with descriptive message
|
||||||
|
git commit -m "feat(submodule): describe specific change"
|
||||||
|
```
|
||||||
|
|
||||||
|
d. **Push Submodule Changes**:
|
||||||
|
```bash
|
||||||
|
git push origin feature/your-submodule-feature
|
||||||
|
```
|
||||||
|
|
||||||
|
4. **Updating Submodule References**:
|
||||||
|
After making changes to a submodule:
|
||||||
|
```bash
|
||||||
|
# From the main repository root
|
||||||
|
git add path/to/submodule
|
||||||
|
git commit -m "Update submodule reference to latest changes"
|
||||||
|
```
|
||||||
|
|
||||||
|
5. **Pulling Latest Submodule Changes**:
|
||||||
|
```bash
|
||||||
|
# Update all submodules
|
||||||
|
git submodule update --recursive --remote
|
||||||
|
|
||||||
|
# Or update a specific submodule
|
||||||
|
git submodule update --remote path/to/specific/submodule
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Submodule Contribution Best Practices
|
||||||
|
|
||||||
|
- Always work in a feature branch within the submodule
|
||||||
|
- Ensure submodule changes do not break the main application
|
||||||
|
- Write tests for submodule-specific changes
|
||||||
|
- Update documentation if the submodule's interface changes
|
||||||
|
- Create a pull request for the submodule first, then update the main project's submodule reference
|
||||||
|
|
||||||
### Development Workflow
|
### Development Workflow
|
||||||
|
|
||||||
#### Setting Up the Development Environment
|
#### Setting Up the Development Environment
|
||||||
|
|
@ -31,17 +101,16 @@ We appreciate your interest in contributing to Vaani. This guide will help you n
|
||||||
1. [Fork the repo](https://github.com/Dr-Blank/Vaani/fork)
|
1. [Fork the repo](https://github.com/Dr-Blank/Vaani/fork)
|
||||||
1. Clone the forked repository to your local machine
|
1. Clone the forked repository to your local machine
|
||||||
```bash
|
```bash
|
||||||
# Fork the main repository on GitHub
|
# Fork the main repository on GitHub
|
||||||
git clone --recursive https://github.com/[YOUR_USERNAME]/Vaani.git
|
git clone --recursive https://github.com/[YOUR_USERNAME]/Vaani.git
|
||||||
cd Vaani
|
cd Vaani
|
||||||
|
|
||||||
# Initialize and update submodules
|
# Initialize and update submodules
|
||||||
git submodule update --init --recursive
|
git submodule update --init --recursive
|
||||||
|
|
||||||
# Install dependencies for the main app and submodules
|
|
||||||
flutter pub get
|
|
||||||
```
|
|
||||||
|
|
||||||
|
# Install dependencies for the main app and submodules
|
||||||
|
flutter pub get
|
||||||
|
```
|
||||||
|
|
||||||
#### Coding Standards
|
#### Coding Standards
|
||||||
|
|
||||||
|
|
@ -49,9 +118,7 @@ We appreciate your interest in contributing to Vaani. This guide will help you n
|
||||||
- Follow [Flutter's style guide](https://dart.dev/guides/language/effective-dart/style)
|
- Follow [Flutter's style guide](https://dart.dev/guides/language/effective-dart/style)
|
||||||
- Use `dart format` and `flutter analyze`
|
- Use `dart format` and `flutter analyze`
|
||||||
|
|
||||||
|
```bash
|
||||||
|
|
||||||
```bash
|
|
||||||
dart format .
|
dart format .
|
||||||
flutter analyze
|
flutter analyze
|
||||||
```
|
```
|
||||||
|
|
@ -60,8 +127,7 @@ We appreciate your interest in contributing to Vaani. This guide will help you n
|
||||||
- Write unit and widget tests
|
- Write unit and widget tests
|
||||||
- Ensure tests pass for both the main app and submodules
|
- Ensure tests pass for both the main app and submodules
|
||||||
|
|
||||||
|
```bash
|
||||||
```bash
|
|
||||||
flutter test
|
flutter test
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -71,8 +137,7 @@ We appreciate your interest in contributing to Vaani. This guide will help you n
|
||||||
- Use descriptive branch names
|
- Use descriptive branch names
|
||||||
- Prefix with feature/, bugfix/, or docs/
|
- Prefix with feature/, bugfix/, or docs/
|
||||||
|
|
||||||
|
```bash
|
||||||
```bash
|
|
||||||
git checkout -b feature/add-accessibility-support
|
git checkout -b feature/add-accessibility-support
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -80,8 +145,7 @@ We appreciate your interest in contributing to Vaani. This guide will help you n
|
||||||
- Use clear, concise descriptions
|
- Use clear, concise descriptions
|
||||||
- Reference issue numbers when applicable
|
- Reference issue numbers when applicable
|
||||||
- Follow conventional commits format:
|
- Follow conventional commits format:
|
||||||
|
`<type>(scope): <description>`
|
||||||
`<type>(scope): <description>`
|
|
||||||
|
|
||||||
3. **Pull Request Guidelines**:
|
3. **Pull Request Guidelines**:
|
||||||
- Clearly describe the purpose of your changes
|
- Clearly describe the purpose of your changes
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue