Thank you for your interest in contributing to aShell You! We appreciate your time and effort in helping us improve this project. This guide will help you get started with contributing.
Please read and follow our Code of Conduct. We are committed to providing a welcoming and inclusive environment for all contributors. By participating, you agree to abide by this code.
There are many ways to contribute to this project:
- Report Bugs: Open an issue to report a bug.
- Suggest Features: Suggest new features or improvements.
- Write Code: Submit a pull request to fix bugs or add features.
- Improve Documentation: Help us improve the project's documentation.
- Test the App: Test the app and report any issues.
To get started with contributing, follow these steps:
- Java Development Kit (JDK): Ensure you have JDK 11 or higher installed.
- Android Studio: Install the latest version of Android Studio.
- Git: Install Git to clone and manage the repository.
-
Fork the Repository:
- Click the "Fork" button on the top right of the repository page to create your own copy.
-
Clone the Repository:
git clone https://github.com/DP-Hridayan/aShellYou.git cd aShellYou -
Open the Project in Android Studio:
- Open Android Studio and select "Open an Existing Project."
- Navigate to the cloned repository and open it.
-
Install Dependencies:
- Sync the project with Gradle to download all dependencies.
-
Run the App:
- Connect an Android device or start an emulator.
- Click the "Run" button in Android Studio to build and run the app.
If you find a bug, please open an issue and include the following information:
- Description: A clear and concise description of the bug.
- Steps to Reproduce: Detailed steps to reproduce the issue.
- Expected Behavior: What you expected to happen.
- Actual Behavior: What actually happened.
- Screenshots: If applicable, add screenshots to help explain the issue.
- Device Information:
- Device model
- Android version
- App version
Example:
Description: The app crashes when clicking the "Save" button.
Steps to Reproduce:
- Open the app.
- Navigate to the "Settings" screen.
- Click the "Save" button.
Expected Behavior: The settings should be saved without any issues.
Actual Behavior: The app crashes immediately after clicking the "Save" button.
Device Information:
- Device: Pixel 5
- Android Version: 12
- App Version: 1.0.0
If you have an idea for a new feature or improvement, please open an issue and include the following information:
- Description: A clear and concise description of the feature.
- Problem: Explain the problem this feature will solve.
- Proposed Solution: Describe your proposed solution.
- Alternatives: List any alternative solutions you considered.
Example:
Description: Add a dark mode to the app.
Problem: The app's current light theme is not suitable for low-light environments.
Proposed Solution: Implement a dark mode that can be toggled in the settings.
Alternatives: Use system-wide dark mode settings.
If you'd like to contribute code, follow these steps:
- Create a new branch for your feature or bug fix:
git checkout -b feature/your-feature-name
- Write your code and ensure it follows the project's coding standards (see below).
- Run the app and ensure your changes work as expected.
- Write unit tests if applicable.
- Write clear and concise commit messages:
git commit -m "Add dark mode feature"
- Push your branch to your forked repository:
git push origin feature/your-feature-name
- Go to the original repository and click "New Pull Request."
- Provide a clear title and description for your pull request.
- Reference any related issues (e.g., "Fixes #123").
To maintain consistency, please follow these coding standards:
- Java:
- Use 4 spaces for indentation.
- Follow the Google Java Style Guide.
- XML:
- Use 2 spaces for indentation.
- Use descriptive IDs and names for resources.
- Commit Messages:
- Use the present tense (e.g., "Add feature" instead of "Added feature").
- Keep the first line under 50 characters.
- Provide a detailed description if necessary.
Before submitting your changes, ensure the app works as expected:
- Unit Tests: Run all unit tests in Android Studio.
- UI Tests: Run UI tests to ensure no regressions.
- Manual Testing: Test the app on different devices and Android versions.
-
Pull Request Submission:
- Open a pull request with a clear description of your changes.
- Ensure your code passes all tests and follows the coding standards.
-
Review:
- A maintainer will review your pull request and provide feedback.
- Be prepared to make changes based on the feedback.
-
Merge:
- Once approved, your pull request will be merged into the main branch.
We appreciate your contributions and look forward to working with you. If you have any questions, feel free to open an issue or reach out to the maintainers.
Happy coding! 🚀