From 43fd6279fc4c36617889306858a40a700adb3db0 Mon Sep 17 00:00:00 2001 From: Husamettin ARABACI Date: Sun, 21 Sep 2025 15:43:09 +0300 Subject: [PATCH] feat(config): Add default config for github .github docs and reuse config is added for init --- .github/.commitlintrc.yml | 26 ++++ .github/CODEOWNERS | 35 +++++ .github/CODE_OF_CONDUCT.md | 48 +++++++ .github/CONTRIBUTING.md | 110 ++++++++++++++++ .github/FUNDING.yml | 4 + .github/ISSUE_TEMPLATE/bug-report.md | 49 +++++++ .github/ISSUE_TEMPLATE/config.yml | 4 + .github/ISSUE_TEMPLATE/documentation.md | 23 ++++ .github/ISSUE_TEMPLATE/feature-request.md | 25 ++++ .github/ISSUE_TEMPLATE/question.md | 25 ++++ .github/ISSUE_TEMPLATE/support.md | 35 +++++ .github/PULL_REQUEST_TEMPLATE.md | 76 +++++++++++ .github/SECURITY.md | 54 ++++++++ .github/SUPPORT.md | 28 ++++ .github/auto_assign.yml | 11 ++ .github/config.yml | 16 +++ .github/dependabot.yml | 26 ++++ .github/labeler.yml | 60 +++++++++ .github/workflows/auto-assign.yml | 18 +++ .github/workflows/branch-name-check.yml | 23 ++++ .github/workflows/ci.yml | 72 +++++++++++ .github/workflows/commitlint.yml | 21 +++ .github/workflows/labeler.yml | 24 ++++ .github/workflows/main-pr-protect.yml | 24 ++++ .github/workflows/pr-title-check.yml | 32 +++++ .github/workflows/release-pr-protect.yml | 24 ++++ .github/workflows/release.yml | 33 +++++ .github/workflows/reuse-lint.yml | 15 +++ .github/workflows/stale.yml | 32 +++++ .releaserc.yml | 15 +++ CHANGELOG.md | 29 +++++ LICENSES/MIT.txt | 21 +++ REUSE.toml | 13 ++ docs/ARCHITECTURE.md | 16 +++ docs/BRANCH_STRATEGY.md | 118 +++++++++++++++++ docs/BRANDING.md | 14 ++ docs/CNAME | 1 + docs/CODE_OF_CONDUCT.md | 48 +++++++ docs/COMMIT_STRATEGY.md | 148 ++++++++++++++++++++++ docs/COMMUNITY.md | 38 ++++++ docs/CONFIGURATION.md | 12 ++ docs/CONTACT.md | 58 +++++++++ docs/CONTRIBUTING.md | 112 ++++++++++++++++ docs/DEVELOPMENT_GUIDE.md | 83 ++++++++++++ docs/FAQ.md | 68 ++++++++++ docs/GETTING_STARTED.md | 19 +++ docs/LABELLING_STRATEGY.md | 77 +++++++++++ docs/PROJECT_BOARD.md | 60 +++++++++ docs/PROJECT_STRUCTURE.md | 6 + docs/PR_STRATEGY.md | 88 +++++++++++++ docs/SECURITY.md | 54 ++++++++ docs/STYLE_GUIDE.md | 12 ++ docs/SUMMARY.md | 57 +++++++++ docs/SUPPORT.md | 28 ++++ package.json | 15 +++ 55 files changed, 2183 insertions(+) create mode 100644 .github/.commitlintrc.yml create mode 100644 .github/CODEOWNERS create mode 100644 .github/CODE_OF_CONDUCT.md create mode 100644 .github/CONTRIBUTING.md create mode 100644 .github/FUNDING.yml create mode 100644 .github/ISSUE_TEMPLATE/bug-report.md create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/documentation.md create mode 100644 .github/ISSUE_TEMPLATE/feature-request.md create mode 100644 .github/ISSUE_TEMPLATE/question.md create mode 100644 .github/ISSUE_TEMPLATE/support.md create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 .github/SECURITY.md create mode 100644 .github/SUPPORT.md create mode 100644 .github/auto_assign.yml create mode 100644 .github/config.yml create mode 100644 .github/dependabot.yml create mode 100644 .github/labeler.yml create mode 100644 .github/workflows/auto-assign.yml create mode 100644 .github/workflows/branch-name-check.yml create mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/commitlint.yml create mode 100644 .github/workflows/labeler.yml create mode 100644 .github/workflows/main-pr-protect.yml create mode 100644 .github/workflows/pr-title-check.yml create mode 100644 .github/workflows/release-pr-protect.yml create mode 100644 .github/workflows/release.yml create mode 100644 .github/workflows/reuse-lint.yml create mode 100644 .github/workflows/stale.yml create mode 100644 .releaserc.yml create mode 100644 CHANGELOG.md create mode 100644 LICENSES/MIT.txt create mode 100644 REUSE.toml create mode 100644 docs/ARCHITECTURE.md create mode 100644 docs/BRANCH_STRATEGY.md create mode 100644 docs/BRANDING.md create mode 100644 docs/CNAME create mode 100644 docs/CODE_OF_CONDUCT.md create mode 100644 docs/COMMIT_STRATEGY.md create mode 100644 docs/COMMUNITY.md create mode 100644 docs/CONFIGURATION.md create mode 100644 docs/CONTACT.md create mode 100644 docs/CONTRIBUTING.md create mode 100644 docs/DEVELOPMENT_GUIDE.md create mode 100644 docs/FAQ.md create mode 100644 docs/GETTING_STARTED.md create mode 100644 docs/LABELLING_STRATEGY.md create mode 100644 docs/PROJECT_BOARD.md create mode 100644 docs/PROJECT_STRUCTURE.md create mode 100644 docs/PR_STRATEGY.md create mode 100644 docs/SECURITY.md create mode 100644 docs/STYLE_GUIDE.md create mode 100644 docs/SUMMARY.md create mode 100644 docs/SUPPORT.md create mode 100644 package.json diff --git a/.github/.commitlintrc.yml b/.github/.commitlintrc.yml new file mode 100644 index 0000000..edcd559 --- /dev/null +++ b/.github/.commitlintrc.yml @@ -0,0 +1,26 @@ +# SPDX-FileCopyrightText: 2025 hexaTune LLC +# SPDX-License-Identifier: MIT + +extends: + - "@commitlint/config-conventional" + +rules: + type-enum: + - 2 + - always + - [ + feat, + fix, + chore, + refactor, + test, + docs, + ci, + perf, + build, + release, + hotfix, + style, + ] + header-max-length: [0, "always"] + body-max-line-length: [0, "never"] diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..0bebc9b --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,35 @@ +# SPDX-FileCopyrightText: 2025 hexaTune LLC +# SPDX-License-Identifier: MIT + +# Default owner +* @husamettinarabaci + +# Module-specific owners + +## Firmware +/firmware/ @husamettinarabaci + +## Hardware +/hardware/ @husamettinarabaci + +## Mechanic +/mechanic/ @husamettinarabaci + +## Documentation +/docs/ @husamettinarabaci + +## Tests +/integration-tests/ @husamettinarabaci + +## Benchmarks +/benchmarks/ @husamettinarabaci + +## Examples +/examples/ @husamettinarabaci + +## Scripts +/scripts/ @husamettinarabaci + +## GitHub +/.github/ @husamettinarabaci + diff --git a/.github/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..dcdaf01 --- /dev/null +++ b/.github/CODE_OF_CONDUCT.md @@ -0,0 +1,48 @@ + + +# Contributor Covenant Code of Conduct + +## πŸ“œ Our Pledge + +We as members, contributors, and leaders pledge to make participation in **hexaGenApp** an open, welcoming, diverse, inclusive, and harassment-free experience for everyone. + +We commit to acting and interacting in ways that contribute to an open, respectful, and constructive communityβ€”regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socioeconomic status, nationality, personal appearance, race, religion, or sexual identity and orientation. + +## βœ… Our Standards + +Examples of behavior that contributes to a positive environment: + +- Using welcoming and inclusive language +- Respecting different viewpoints and experiences +- Gracefully accepting constructive criticism +- Showing empathy toward others + +Examples of unacceptable behavior: + +- The use of sexualized language or imagery and unwelcome advances +- Trolling, insulting or derogatory comments, and personal or political attacks +- Public or private harassment +- Publishing others’ private information without explicit permission + +## πŸ™‹ Our Responsibilities + +Project maintainers are responsible for clarifying the standards and enforcing them appropriately. + +## πŸ“ž Scope + +This Code of Conduct applies to all community spacesβ€”online and offlineβ€”including project repositories, issue trackers, forums, chat rooms, events, and social media. + +## πŸ›‘οΈ Enforcement + +Instances of abusive or otherwise unacceptable behavior may be reported to the maintainers at: + +πŸ“§ [info@hexatune.com](mailto:info@hexatune.com) + +All reports will be reviewed and investigated, and will result in a response deemed necessary and appropriate to the circumstances. + +## πŸ“„ Attribution + +This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.0. diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md new file mode 100644 index 0000000..066596f --- /dev/null +++ b/.github/CONTRIBUTING.md @@ -0,0 +1,110 @@ + + +# Contributing to hexaGenApp + +Thank you for your interest in contributing to **hexaGenApp**! +This document outlines how to get involved, contribute code or ideas, and follow our development process. + +--- + +## πŸ“š Before You Start + +Please review the following core documents: + +- [Getting Started](https://github.com/hTuneSys/hexaGenApp/blob/main/docs/GETTING_STARTED.md) +- [Architecture](https://github.com/hTuneSys/hexaGenApp/blob/main/docs/ARCHITECTURE.md) +- [Branch Strategy](https://github.com/hTuneSys/hexaGenApp/blob/main/docs/BRANCH_STRATEGY.md) +- [Project Board](https://github.com/hTuneSys/hexaGenApp/blob/main/docs/PROJECT_BOARD.md) +- [FAQ](https://github.com/hTuneSys/hexaGenApp/blob/main/docs/FAQ.md) +- [README](https://github.com/hTuneSys/hexaGenApp#readme) + +--- + +## 🧩 Contribution Types + +- **Code:** New features, bugfixes, enhancements to modules or core +- **Plugins:** External integrations, reusable logic extensions +- **Docs:** Fixing typos, improving structure, or writing new guides +- **Issues & Feedback:** Filing issues, proposing ideas or improvements + +--- + +## πŸ”€ Branch Strategy + +Please follow our [Branching Guide](https://github.com/hTuneSys/hexaGenApp/blob/main/docs/BRANCH_STRATEGY.md) + +- Always branch from `develop` +- Use one of the allowed types as prefix: + `feat/`, `fix/`, `chore/`, `refactor/`, `test/`, `docs/`, `ci/`, `perf/`, `build/`, `release/`, `hotfix/`, `style/` +- Example: `feat/auth-handler`, `fix/login-bug`, `docs/contributing` +- Never branch from `main` +- Only maintainers may merge to `main` or `release/*` + +--- + +## ✏️ Commit & PR Formatting + +All commits and pull requests must follow [Conventional Commits](https://www.conventionalcommits.org/): + +### βœ… Allowed Types + +`feat`, `fix`, `chore`, `refactor`, `test`, `docs`, `ci`, `perf`, `build`, `release`, `hotfix`, `style` + +### πŸ“ Examples + +```bash +feat: add user authentication module +fix: resolve panic on empty payload +chore: remove unused dependencies +refactor: simplify scheduler logic +test: add unit tests for HexaStore +docs: improve contributing guide +ci: update GitHub Actions for linting +perf: optimize event matching engine +build: update pubspec.yaml deps and app version +release: prepare v0.2.0 release +hotfix: patch critical runtime bug +style: reformat codebase with dart format +``` + +PR titles must follow the same format. Title linting is enforced. + +--- + +## πŸ§ͺ PR Flow & Project Board + +1. Choose or create an issue +2. Fork the repo and branch from `develop` +3. Submit a PR with a descriptive title +4. PR flows through: + - 🟑 In Progress + - πŸ” In Review + - βœ… Done + +--- + +## 🏷 Label System + +Labels are automatically assigned based on the module or type. +Refer to [Labelling Strategy](https://github.com/hTuneSys/hexaGenApp/blob/main/docs/LABELLING_STRATEGY.md) + +--- + +## πŸ” CI/CD & Releases + +- All PRs must pass checks (build, test, format, lint) +- PRs are merged into `develop`, then promoted to `release/*` +- Only merges into `main` trigger semantic-release automation + +--- + +## πŸ™‹ Support & Communication + +- Questions? Use [GitHub Discussions](https://github.com/hTuneSys/hexaGenApp/discussions) +- For sensitive topics, contact **[info@hexatune.com](mailto:info@hexatune.com)** +- Please follow our [Code of Conduct](https://github.com/hTuneSys/hexaGenApp/blob/main/.github/CODE_OF_CONDUCT.md) + +We’re excited to build hexaGenApp with your help πŸš€ diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..72b0ad6 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,4 @@ +# SPDX-FileCopyrightText: 2025 hexaTune LLC +# SPDX-License-Identifier: MIT + +github: hTuneSys diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md new file mode 100644 index 0000000..a7d04a9 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug-report.md @@ -0,0 +1,49 @@ +--- +name: "\U0001F41B Bug Report" +about: Report a reproducible bug or unexpected behavior in hexaGenApp +title: "[bug]: Describe the problem clearly" +labels: [type:bug] +assignees: husamettinarabaci +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: + +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Desktop (please complete the following information):** + +- OS: [e.g. iOS] +- Browser [e.g. chrome, safari] +- Version [e.g. 22] + +**Smartphone (please complete the following information):** + +- Device: [e.g. iPhone6] +- OS: [e.g. iOS8.1] +- Browser [e.g. stock browser, safari] +- Version [e.g. 22] + +**Additional context** +Add any other context about the problem here. + +**Impact** +How critical is the bug? (e.g., crash, data loss, UI glitch) + +**Severity** +What is the scope? (e.g., affects all users, only under rare conditions) + +**Priority** +How soon should this be fixed? (e.g., urgent, normal, low) diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..8b0a216 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,4 @@ +# SPDX-FileCopyrightText: 2025 hexaTune LLC +# SPDX-License-Identifier: MIT + +blank_issues_enabled: false diff --git a/.github/ISSUE_TEMPLATE/documentation.md b/.github/ISSUE_TEMPLATE/documentation.md new file mode 100644 index 0000000..0551966 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/documentation.md @@ -0,0 +1,23 @@ +--- +name: "πŸ“ Documentation Issue" +about: Report an issue or suggest an improvement for the documentation +title: "[docs]: Clarify CONTRIBUTING.md section" +labels: [type:doc] +assignees: husamettinarabaci +--- + +### πŸ“„ What part of the documentation is unclear or incorrect? + +Please specify which page or section has a problem or could be improved. + +--- + +### ✏️ Suggested Fix or Clarification + +If you have suggestions for better wording or additional examples, please include them here. + +--- + +### πŸ”— Links or Screenshots + +(Optional) Provide URLs, screenshots, or file references related to the issue. diff --git a/.github/ISSUE_TEMPLATE/feature-request.md b/.github/ISSUE_TEMPLATE/feature-request.md new file mode 100644 index 0000000..9d385c3 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature-request.md @@ -0,0 +1,25 @@ +--- +name: "\U0001F31F Feature Request" +about: Suggest a new feature or improvement for hexaGenApp +title: "[feat]: Suggest a new capability or improvement" +labels: [type:feature] +assignees: husamettinarabaci +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. + +**Impact** +What benefit will this bring if implemented? + +**Priority** +Is this critical, nice-to-have, or optional? diff --git a/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md new file mode 100644 index 0000000..858440a --- /dev/null +++ b/.github/ISSUE_TEMPLATE/question.md @@ -0,0 +1,25 @@ +--- +name: "❓ Question / Clarification" +about: Ask a question or request clarification about hexaGenApp usage or design +title: "[question]: Briefly summarize your question" +labels: [status:needs-spec] +assignees: husamettinarabaci +--- + +### πŸ€” What is your question? + +Please clearly describe the question or concept you're unclear about. Be as specific as possible. + +--- + +### πŸ“š Context or Background + +- What part of the system are you referring to? +- Are you following a particular example or tutorial? +- Have you checked the [README](https://github.com/hTuneSys/hexaGenApp/blob/main/README.md), [FAQ](https://github.com/hTuneSys/hexaGenApp/blob/main/docs/FAQ.md), or [full documentation](https://github.com/hTuneSys/hexaGenApp/main/develop/docs/DEVELOPMENT_GUIDE.md)? + +--- + +### πŸ’­ Additional Information + +(Optional) Provide logs, screenshots, links, or anything else that might help clarify your question. diff --git a/.github/ISSUE_TEMPLATE/support.md b/.github/ISSUE_TEMPLATE/support.md new file mode 100644 index 0000000..6ad379f --- /dev/null +++ b/.github/ISSUE_TEMPLATE/support.md @@ -0,0 +1,35 @@ +--- +name: "πŸ’¬ Support Request" +about: Request general help, integration advice, or usage clarification for hexaGenApp +title: "[support]: Describe your need" +labels: [status:waiting-feedback] +assignees: husamettinarabaci +--- + +### πŸ“š What do you need help with? + +Please describe the situation, problem, or question you have. Include as much context as possible: + +- What are you trying to achieve? +- What specific part of hexaGenApp are you using? +- Are you following a particular tutorial or example? + +--- + +### πŸ’» System Details (Optional) + +- hexaGenApp version (if applicable): +- Platform or environment (if applicable): +- Device version (if relevant): + +--- + +### πŸ§ͺ What have you tried so far? + +Let us know what steps you've taken to solve the issue on your own. + +--- + +### πŸ“Ž Additional Info + +Add logs, screenshots, config files, or anything else that may help us assist you better. diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..ca53844 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,76 @@ +# Pull Request + +## πŸ“„ Summary + +> Clearly describe what this PR changes and why it is necessary. +> Link to any relevant issue(s) below. + +--- + +## 🧩 Affected Module(s) + +Mark the modules impacted by this PR: + +- [ ] Source Code +- [ ] Documentation +- [ ] CI / Infra + +--- + +## ✏️ PR Title Format + +> ⚠️ PR title must follow [Conventional Commits](https://www.conventionalcommits.org/) format. +> **Only these types are allowed:** + +```text +feat, fix, chore, refactor, test, docs, ci, perf, build, release, hotfix, style +``` + +βœ… Examples: + +```text +feat: add lifecycle state validator for widgets +fix: resolve webhook retry issue in network layer +chore: clean up unused Flutter plugins and dependencies +refactor: simplify event dispatcher with ChangeNotifier +test: add integration test for HexaCast widget +docs: update contributing guide with Flutter setup +ci: improve GitHub Actions caching for pub packages +perf: reduce widget rebuild latency in trigger handling +build: update pubspec.lock and bump package versions +release: prepare v0.3.0 Flutter app release +hotfix: patch crash on runtime navigation +style: apply dart format to all Dart files + +``` + +--- + +## βœ… Checklist + +Before submitting, make sure you've completed the following: + +- [ ] My branch name follows format: `/` (e.g., `feat/auth-handler`) +- [ ] My PR title starts with one of the approved types listed above +- [ ] My code passes formatting (`dart format .`) +- [ ] I ran Clippy linter (`flutter analyze`) and resolved warnings +- [ ] I ran tests successfully (`flutter test`) +- [ ] I linked related issues using keywords like `Closes #42` +- [ ] I ensured this PR has no unrelated changes +- [ ] This PR is ready for review and does not include unfinished work + +--- + +## πŸ”— Related Issues + +> If this PR addresses one or more issues, link them here: + +```text +Closes # +``` + +--- + +## πŸ’¬ Additional Notes (Optional) + +> Include any test instructions, screenshots, diagrams, or context useful for reviewers. diff --git a/.github/SECURITY.md b/.github/SECURITY.md new file mode 100644 index 0000000..612a0df --- /dev/null +++ b/.github/SECURITY.md @@ -0,0 +1,54 @@ + + +# πŸ” Security Policy + +Thank you for taking the time to help us improve the security of **hexaGenApp**. + +If you discover a vulnerability or security issue, we strongly encourage you to disclose it responsibly. + +--- + +## πŸ“¬ Reporting a Vulnerability + +Please report any security issues privately by emailing: + +**πŸ“§ [info@hexatune.com](mailto:info@hexatune.com)** + +Include the following information if possible: + +- A detailed description of the vulnerability +- Steps to reproduce the issue +- Any proof-of-concept code or screenshots +- Affected versions or environments + +You will receive a response within **3–5 business days**. + +Optionally, you may encrypt your report using our GPG key (coming soon). + +--- + +## πŸ” Scope + +This policy applies to vulnerabilities in: + +- Application logic +- Authentication/Authorization +- Data integrity and privacy +- Dependency and supply chain concerns + +--- + +## 🚫 Out of Scope + +The following will generally not be considered security issues: + +- Missing security headers +- Rate limiting or brute-force protection +- Outdated browser support + +--- + +Thank you for helping make **hexaGenApp** more secure! πŸ›‘οΈ diff --git a/.github/SUPPORT.md b/.github/SUPPORT.md new file mode 100644 index 0000000..fe09ccf --- /dev/null +++ b/.github/SUPPORT.md @@ -0,0 +1,28 @@ + + +# πŸ™‹ Support Guide for hexaGenApp + +Thanks for using **hexaGenApp**! Below are the ways you can get help or contact the maintainers. + +--- + +## πŸ“¬ Contact Channels + +| Channel | Purpose | +|----------------|-------------------------------------------------------------------| +| [Discussions](https://github.com/hTuneSys/hexaGenApp/discussions) | Ask questions, suggest features, or open design talks | +| [Issues](https://github.com/hTuneSys/hexaGenApp/issues) | Report bugs or request features | +| Email | For private or sensitive support: [info@hexatune.com](mailto:info@hexatune.com) | + +--- + +## πŸ’‘ Tips + +- Before opening an issue, please check the [FAQ](https://github.com/hTuneSys/hexaGenApp/blob/main/docs/FAQ.md). +- Use appropriate labels when opening issues to help us respond faster. +- For security-related concerns, please read our [Security Policy](https://github.com/hTuneSys/hexaGenApp/blob/main/.github/SECURITY.md). + +We appreciate your feedback and contributions πŸ’™ diff --git a/.github/auto_assign.yml b/.github/auto_assign.yml new file mode 100644 index 0000000..31fdf3b --- /dev/null +++ b/.github/auto_assign.yml @@ -0,0 +1,11 @@ +# SPDX-FileCopyrightText: 2025 hexaTune LLC +# SPDX-License-Identifier: MIT + +addReviewers: true +addAssignees: author + +reviewers: + - husamettinarabaci + +skipDraft: true +numberOfReviewers: 1 diff --git a/.github/config.yml b/.github/config.yml new file mode 100644 index 0000000..dc04c60 --- /dev/null +++ b/.github/config.yml @@ -0,0 +1,16 @@ +# SPDX-FileCopyrightText: 2025 hexaTune LLC +# SPDX-License-Identifier: MIT + +welcome: + newPRWelcomeComment: > + πŸ‘‹ **Welcome to hexaGenApp!** + Thank you for your first pull request πŸŽ‰ + A maintainer will review it soon. + In the meantime, please make sure your PR follows our [contribution guidelines](https://github.com/hTuneSys/hexaGenApp/blob/main/.github/CONTRIBUTING.md). + Happy hacking! πŸš€ + + newIssueWelcomeComment: > + πŸ‘‹ Welcome! + Thanks for submitting your first issue. + A maintainer will look into it shortly. + While you wait, you might want to check our [FAQ](https://github.com/hTuneSys/hexaGenApp/blob/main/docs/FAQ.md) or [README](https://github.com/hTuneSys/hexaGenApp#readme) for helpful info. diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..9eb6c3c --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,26 @@ +# SPDX-FileCopyrightText: 2025 hexaTune LLC +# SPDX-License-Identifier: MIT + +version: 2 +updates: + - package-ecosystem: "pub" + directory: "/hexagenapp/" + schedule: + interval: "weekly" + open-pull-requests-limit: 5 + labels: + - "type:refactor" + - "status:needs-review" + assignees: + - "husamettinarabaci" + + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + open-pull-requests-limit: 5 + labels: + - "type:refactor" + - "status:needs-review" + assignees: + - "husamettinarabaci" diff --git a/.github/labeler.yml b/.github/labeler.yml new file mode 100644 index 0000000..16fdb2c --- /dev/null +++ b/.github/labeler.yml @@ -0,0 +1,60 @@ +# SPDX-FileCopyrightText: 2025 hexaTune LLC +# SPDX-License-Identifier: MIT + +# ──────────────────────────────────────────────────────────────────────────────── +# MODULE LABELS +# ──────────────────────────────────────────────────────────────────────────────── + +module:source: + - changed-files: + - any-glob-to-any-file: ["hexagenapp/**"] + +module:docs: + - changed-files: + - any-glob-to-any-file: ["docs/**", "examples/**", "**/README.md"] + +module:cli: + - changed-files: + - any-glob-to-any-file: ["scripts/**"] + +# ──────────────────────────────────────────────────────────────────────────────── +# TYPE LABELS +# ──────────────────────────────────────────────────────────────────────────────── + +type:doc: + - changed-files: + - any-glob-to-any-file: + ["docs/**", "LICENSE", "LICENSES/**", "CHANGELOG.md", "**/README.md"] + +type:ci: + - changed-files: + - any-glob-to-any-file: [".github/**", ".gitignore", "package.json"] + +type:test: + - changed-files: + - any-glob-to-any-file: + - "integration-tests/**" + - "benchmarks/**" + - "**/tests/**" + - "**/*_test.dart" + - "**/test_*.dart" + +type:infra: + - changed-files: + - any-glob-to-any-file: + - "hexagenapp/**/pubspec.yaml" + - "hexagenapp/**/pubspec.lock" + - "hexagenapp/**/analysis_options.yaml" + - "hexagenapp/**/.metadata" + - "hexagenapp/**/melos.yaml" + - "hexagenapp/**/melos.*" + - ".releaserc.yml" + - "REUSE.toml" + +# ──────────────────────────────────────────────────────────────────────────────── +# DEFAULT LABEL +# ──────────────────────────────────────────────────────────────────────────────── + +default:unclassified: + - changed-files: + - any-glob-to-any-file: ["*"] diff --git a/.github/workflows/auto-assign.yml b/.github/workflows/auto-assign.yml new file mode 100644 index 0000000..0422154 --- /dev/null +++ b/.github/workflows/auto-assign.yml @@ -0,0 +1,18 @@ +# SPDX-FileCopyrightText: 2025 hexaTune LLC +# SPDX-License-Identifier: MIT + +name: 🀝 Auto Assign Reviewer + +on: + pull_request: + types: [opened, ready_for_review] + +jobs: + add-reviewer: + name: Add Reviewer (hexaGenApp) + runs-on: ubuntu-latest + steps: + - name: Auto assign + uses: kentaro-m/auto-assign-action@v1.2.3 + with: + configuration-path: .github/auto_assign.yml diff --git a/.github/workflows/branch-name-check.yml b/.github/workflows/branch-name-check.yml new file mode 100644 index 0000000..a30b818 --- /dev/null +++ b/.github/workflows/branch-name-check.yml @@ -0,0 +1,23 @@ +# SPDX-FileCopyrightText: 2025 hexaTune LLC +# SPDX-License-Identifier: MIT + +name: πŸ§ͺ Enforce Branch Naming + +on: + pull_request: + types: [opened, edited, synchronize, reopened] + +jobs: + check-branch-name: + name: Check Branch Name (hexaGenApp) + runs-on: ubuntu-latest + steps: + - name: Validate branch name + run: | + BRANCH_NAME="${{ github.head_ref }}" + echo "Checking branch name: $BRANCH_NAME" + if [[ ! "$BRANCH_NAME" =~ ^(feat|fix|chore|refactor|test|docs|ci|perf|build|release|hotfix|style|develop)/.+$ ]]; then + echo "❌ Invalid branch name. Allowed prefixes: feat/, fix/, chore/, refactor/, test/, docs/, ci/, perf/, build/, release/, hotfix/, style/" + echo "Branch names must match the format: /" + exit 1 + fi diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..b756a81 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,72 @@ +# SPDX-FileCopyrightText: 2025 hexaTune LLC +# SPDX-License-Identifier: MIT + +name: πŸ€– CI + +on: + pull_request: + branches: + - develop + - main + - "release/**" + +jobs: + fmt: + name: Check Formatting (hexaGenApp) + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Install Rust + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + override: true + + - name: Check code formatting + run: cargo fmt -- --check + + clippy: + name: Run Clippy Linter (hexaGenApp) + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Install Rust + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + override: true + + - name: Run Clippy + run: cargo clippy --all-targets --all-features -- -D warnings + + build: + name: Build Project (hexaGenApp) + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Install Rust + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + override: true + + - name: Build + run: cargo build --locked --all-targets + + test: + name: Run Tests (hexaGenApp) + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Install Rust + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + override: true + + - name: Run tests + run: cargo test --locked --all-targets diff --git a/.github/workflows/commitlint.yml b/.github/workflows/commitlint.yml new file mode 100644 index 0000000..c25647a --- /dev/null +++ b/.github/workflows/commitlint.yml @@ -0,0 +1,21 @@ +# SPDX-FileCopyrightText: 2025 hexaTune LLC +# SPDX-License-Identifier: MIT + +name: 🧐 Commit Lint + +on: + pull_request: + types: [opened, edited, synchronize] + +jobs: + commitlint: + name: Commit Lint (hexaGenApp) + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Lint commits + uses: wagoid/commitlint-github-action@v5 + with: + configFile: .commitlintrc.yml + failOnWarnings: true diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml new file mode 100644 index 0000000..849cad5 --- /dev/null +++ b/.github/workflows/labeler.yml @@ -0,0 +1,24 @@ +# SPDX-FileCopyrightText: 2025 hexaTune LLC +# SPDX-License-Identifier: MIT + +name: πŸ”– PR Labeler + +on: + pull_request_target: + types: [opened, synchronize] + +permissions: + contents: read + pull-requests: write + +jobs: + label: + name: Label PR (hexaGenApp) + runs-on: ubuntu-latest + steps: + - name: Run Labeler + uses: actions/labeler@v5 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + configuration-path: .github/labeler.yml + dot: true diff --git a/.github/workflows/main-pr-protect.yml b/.github/workflows/main-pr-protect.yml new file mode 100644 index 0000000..27d31d5 --- /dev/null +++ b/.github/workflows/main-pr-protect.yml @@ -0,0 +1,24 @@ +# SPDX-FileCopyrightText: 2025 hexaTune LLC +# SPDX-License-Identifier: MIT + +name: ❌ Block Non-Release PRs to Main + +on: + pull_request: + branches: + - main + types: [opened, synchronize] + +jobs: + enforce-release-only: + name: Block Non-Release PRs to Main (hexaGenApp) + runs-on: ubuntu-latest + steps: + - name: Fail if source branch is not release/* + run: | + echo "Source branch: ${{ github.head_ref }}" + if [[ ! "${{ github.head_ref }}" =~ ^release\/.*$ ]]; then + echo "❌ Only release/* branches may target main." + echo "❌ Only PRs from 'release/*' branches are allowed to merge into 'main'." + exit 1 + fi diff --git a/.github/workflows/pr-title-check.yml b/.github/workflows/pr-title-check.yml new file mode 100644 index 0000000..e430fe8 --- /dev/null +++ b/.github/workflows/pr-title-check.yml @@ -0,0 +1,32 @@ +# SPDX-FileCopyrightText: 2025 hexaTune LLC +# SPDX-License-Identifier: MIT + +name: 🏷️ Check Semantic PR Title + +on: + pull_request: + types: [opened, edited, synchronize, reopened] + +jobs: + pr-title: + name: Validate PR title (hexaGenApp) + runs-on: ubuntu-latest + steps: + - name: Validate PR title + uses: amannn/action-semantic-pull-request@v5 + with: + types: | + feat + fix + chore + refactor + test + docs + ci + perf + build + release + hotfix + style + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release-pr-protect.yml b/.github/workflows/release-pr-protect.yml new file mode 100644 index 0000000..a32b2e2 --- /dev/null +++ b/.github/workflows/release-pr-protect.yml @@ -0,0 +1,24 @@ +# SPDX-FileCopyrightText: 2025 hexaTune LLC +# SPDX-License-Identifier: MIT + +name: ❌ Block Non-Develop PRs to Release + +on: + pull_request: + branches: + - release/**/* + types: [opened, synchronize] + +jobs: + enforce-develop-only: + name: Block Non-Develop PRs to Release (hexaGenApp) + runs-on: ubuntu-latest + steps: + - name: Fail if source branch is not develop + run: | + echo "Source branch: ${{ github.head_ref }}" + if [[ "${{ github.head_ref }}" != "develop" ]]; then + echo "❌ Only develop branch may target release/*." + echo "❌ Only PRs from 'develop' are allowed to merge into 'release/*'." + exit 1 + fi diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..9044925 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,33 @@ +# SPDX-FileCopyrightText: 2025 hexaTune LLC +# SPDX-License-Identifier: MIT + +name: πŸ“¦ Release + +on: + push: + branches: + - main + tags-ignore: + - "**" + +jobs: + release: + name: Semantic Release (hexaGenApp) + runs-on: ubuntu-latest + + steps: + - name: Checkout repo + uses: actions/checkout@v3 + + - name: Use Node.js + uses: actions/setup-node@v3 + with: + node-version: "18" + + - name: Install semantic-release + run: npm install -g semantic-release @semantic-release/changelog @semantic-release/git @semantic-release/github @semantic-release/commit-analyzer @semantic-release/release-notes-generator + + - name: Run semantic-release + run: semantic-release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/reuse-lint.yml b/.github/workflows/reuse-lint.yml new file mode 100644 index 0000000..79f5d6a --- /dev/null +++ b/.github/workflows/reuse-lint.yml @@ -0,0 +1,15 @@ +# SPDX-FileCopyrightText: 2025 hexaTune LLC +# SPDX-License-Identifier: MIT + +name: πŸ“„ REUSE Compliance + +on: [pull_request] + +jobs: + reuse: + name: REUSE Compliance (hexaGenApp) + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - run: pip install reuse + - run: reuse lint diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml new file mode 100644 index 0000000..598e770 --- /dev/null +++ b/.github/workflows/stale.yml @@ -0,0 +1,32 @@ +# SPDX-FileCopyrightText: 2025 hexaTune LLC +# SPDX-License-Identifier: MIT + +name: πŸ’€ Mark stale issues and PRs + +on: + schedule: + - cron: "0 2 * * *" # every day at 02:00 UTC + +permissions: + issues: write + pull-requests: write + +jobs: + stale: + runs-on: ubuntu-latest + name: Mark stale issues and PRs (hexaGenApp) + steps: + - uses: actions/stale@v9 + with: + days-before-stale: 365 + days-before-close: 60 + stale-issue-message: > + This issue has been marked as stale due to inactivity. + Please update or comment to prevent automatic closure. + stale-pr-message: > + This pull request has been marked as stale due to inactivity. + Please update it to keep it open. + close-issue-message: > + This issue was closed automatically after prolonged inactivity. + close-pr-message: > + This pull request was closed automatically after prolonged inactivity. diff --git a/.releaserc.yml b/.releaserc.yml new file mode 100644 index 0000000..915cca7 --- /dev/null +++ b/.releaserc.yml @@ -0,0 +1,15 @@ +# SPDX-FileCopyrightText: 2025 hexaTune LLC +# SPDX-License-Identifier: MIT + +branches: + - main + +plugins: + - "@semantic-release/commit-analyzer" + - "@semantic-release/release-notes-generator" + - "@semantic-release/changelog" + - "@semantic-release/github" + - "@semantic-release/git" + +changelogFile: CHANGELOG.md + diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..6bcdb39 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,29 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). + +--- + +## [Unreleased] + +### Added (Unreleased) + +- Initial setup of hexaGenApp project structure. + +### Changed + +- Placeholder for upcoming changes. + +### Fixed + +- Placeholder for bug fixes. + +--- + +## [0.0.0] - YYYY-MM-DD + +### Added + +- Project creation and initial commit. diff --git a/LICENSES/MIT.txt b/LICENSES/MIT.txt new file mode 100644 index 0000000..ee6a3f9 --- /dev/null +++ b/LICENSES/MIT.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 hexaTune LLC + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/REUSE.toml b/REUSE.toml new file mode 100644 index 0000000..e850e3e --- /dev/null +++ b/REUSE.toml @@ -0,0 +1,13 @@ +version = 1 + +[[annotations]] +path = ["package.json", "CHANGELOG.md"] +precedence = "aggregate" +SPDX-FileCopyrightText = "2025 hexaTune LLC" +SPDX-License-Identifier = "MIT" + +[[annotations]] +path = [".github/ISSUE_TEMPLATE/**", ".github/PULL_REQUEST_TEMPLATE.md"] +precedence = "aggregate" +SPDX-FileCopyrightText = "2025 hexaTune LLC" +SPDX-License-Identifier = "MIT" diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md new file mode 100644 index 0000000..8e92dfa --- /dev/null +++ b/docs/ARCHITECTURE.md @@ -0,0 +1,16 @@ + + +# πŸ—οΈ hexaGenApp Architecture + +--- + +## πŸ“¬ Questions? + +Contact the team at **[info@hexatune.com](mailto:info@hexatune.com)** or open an issue. + +--- + +Built by [hexaTune LLC](https://hexatune.com) Β· GitHub: [hTuneSys/hexaGenApp](https://github.com/hTuneSys/hexaGenApp) Β· License: [MIT](https://opensource.org/license/mit/) diff --git a/docs/BRANCH_STRATEGY.md b/docs/BRANCH_STRATEGY.md new file mode 100644 index 0000000..672f300 --- /dev/null +++ b/docs/BRANCH_STRATEGY.md @@ -0,0 +1,118 @@ + + +# πŸ“š Branching Strategy for hexaGenApp + +This project follows a structured, scalable branching model inspired by GitHub Flow, Gitflow, and real-world enterprise project practices. +All contributors are expected to adhere to these rules for consistent development and stable releases. + +--- + +## πŸ”± Branch Layers and Types + +| Branch | Purpose | Allowed Types (Prefix) | +|--------------------|-----------------------------------------------------|-------------------------------------------------| +| `main` | Production branch. All official releases are tagged here. | N/A (protected branch) | +| `release/x.y` | Pre-release stabilization, final QA and testing. | N/A (protected branch) | +| `develop` | Integration branch for ongoing feature and fix PRs. | N/A (protected branch) | +| `feature/xyz` | Development of new features. | `feat/` | +| `fix/bug-id` | Bug fixes and patches. | `fix/` | +| `chore/*` | Routine tasks, maintenance, housekeeping. | `chore/` | +| `refactor/*` | Code refactoring without feature or bug changes. | `refactor/` | +| `test/*` | Test additions and modifications. | `test/` | +| `docs/*` | Documentation improvements and additions. | `docs/` | +| `ci/*` | Continuous Integration and automation scripts. | `ci/` | +| `perf/*` | Performance improvements. | `perf/` | +| `build/*` | Build-related changes (packaging, dependencies). | `build/` | +| `hotfix/*` | Emergency fixes applied directly on `main`. | `hotfix/` | +| `style/*` | Code style and formatting changes. | `style/` | + +--- + +## πŸ”„ Pull Request Flow + +### πŸ” For Contributors + +- All PRs **must be based on `develop`** unless hotfixing `main`. +- Branch names should start with one of the allowed prefixes from the table above. +- PR titles must follow [Conventional Commits](https://www.conventionalcommits.org/) format. +- Keep your PR focused and small for easier review. + +### βœ… Merge Rules + +- `feature/*`, `fix/*`, `chore/*`, `refactor/*`, `test/*`, `docs/*`, `ci/*`, `perf/*`, `build/*`, `style/*` β†’ merge into `develop` after review & CI pass. +- `develop` β†’ `release/x.y` at sprint end for release prep. +- `release/x.y` β†’ `main` after QA and approval. +- `hotfix/*` β†’ `main` β†’ `develop` immediately. + +--- + +## πŸ” Branch Protection Rules + +| Branch | Protection | +|--------------|----------------------------------------| +| `main` | Required PR, review, status checks | +| `release/*` | Only maintainers can merge | +| `develop` | PR required, minimum 1 review | +| others | No restriction, delete after merge | + +--- + +## πŸ—“οΈ Merge Schedule + +| Action | Frequency | +|-----------------------------|----------------------| +| `feature/*` β†’ `develop` | As soon as ready | +| `develop` β†’ `release/x.y` | Weekly or per sprint | +| `release/x.y` β†’ `main` | After QA/approval | +| `hotfix/*` β†’ `main` | Immediately if needed| + +--- + +## 🧹 Cleanup Policy + +- Merged feature, fix, chore, refactor, test, docs, ci, perf, build, style branches **must be deleted immediately**. +- `release/*` branches are deleted **after tagging**. +- `hotfix/*` branches are merged and deleted **immediately**. +- Consider automating branch deletion using GitHub Settings or scripts. + +--- + +## πŸ“ˆ Do’s and Don’ts + +### Do + +- Use **clear, descriptive branch names** with allowed prefixes. +- Open **small, focused PRs** for faster review. +- Follow **commit and PR title conventions**. +- Sync with `develop` frequently. + +### Don’t + +- Push large or unrelated changes in a single PR. +- Merge into `main` or `release/*` without approval. +- Use branch names outside the approved prefixes. +- Forget to delete branches after merge. + +--- + +## πŸ”„ PR Flow Diagram (Textual) + +```text +feature/*, fix/*, chore/* ... -> develop -> release/x.y -> main + ↑ ↑ + hotfix/* ------------| +``` + +--- + +## πŸ“¬ Questions? + +If you have questions or need help, open a discussion at: +[https://github.com/hTuneSys/hexaGenApp/discussions](https://github.com/hTuneSys/hexaGenApp/discussions) + +--- + +> Maintained by @husamettinarabaci Β· hexaTune LLC diff --git a/docs/BRANDING.md b/docs/BRANDING.md new file mode 100644 index 0000000..ff1d79b --- /dev/null +++ b/docs/BRANDING.md @@ -0,0 +1,14 @@ + + +# hexaGenApp Branding Guide + +--- + +## πŸ“„ Maintained by **hexaTune LLC** + +- Website: [hexatune.com](https://hexatune.com) +- GitHub: [github.com/hTuneSys/hexaGenApp](https://github.com/hTuneSys/hexaGenApp) +- Email: [info@hexatune.com](mailto:info@hexatune.com) diff --git a/docs/CNAME b/docs/CNAME new file mode 100644 index 0000000..dd6c6f0 --- /dev/null +++ b/docs/CNAME @@ -0,0 +1 @@ +hexatune.com diff --git a/docs/CODE_OF_CONDUCT.md b/docs/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..dcdaf01 --- /dev/null +++ b/docs/CODE_OF_CONDUCT.md @@ -0,0 +1,48 @@ + + +# Contributor Covenant Code of Conduct + +## πŸ“œ Our Pledge + +We as members, contributors, and leaders pledge to make participation in **hexaGenApp** an open, welcoming, diverse, inclusive, and harassment-free experience for everyone. + +We commit to acting and interacting in ways that contribute to an open, respectful, and constructive communityβ€”regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socioeconomic status, nationality, personal appearance, race, religion, or sexual identity and orientation. + +## βœ… Our Standards + +Examples of behavior that contributes to a positive environment: + +- Using welcoming and inclusive language +- Respecting different viewpoints and experiences +- Gracefully accepting constructive criticism +- Showing empathy toward others + +Examples of unacceptable behavior: + +- The use of sexualized language or imagery and unwelcome advances +- Trolling, insulting or derogatory comments, and personal or political attacks +- Public or private harassment +- Publishing others’ private information without explicit permission + +## πŸ™‹ Our Responsibilities + +Project maintainers are responsible for clarifying the standards and enforcing them appropriately. + +## πŸ“ž Scope + +This Code of Conduct applies to all community spacesβ€”online and offlineβ€”including project repositories, issue trackers, forums, chat rooms, events, and social media. + +## πŸ›‘οΈ Enforcement + +Instances of abusive or otherwise unacceptable behavior may be reported to the maintainers at: + +πŸ“§ [info@hexatune.com](mailto:info@hexatune.com) + +All reports will be reviewed and investigated, and will result in a response deemed necessary and appropriate to the circumstances. + +## πŸ“„ Attribution + +This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.0. diff --git a/docs/COMMIT_STRATEGY.md b/docs/COMMIT_STRATEGY.md new file mode 100644 index 0000000..d51ca33 --- /dev/null +++ b/docs/COMMIT_STRATEGY.md @@ -0,0 +1,148 @@ + + +# COMMIT_STRATEGY.md + +## πŸ”– Commit Message Strategy for hexaGenApp + +To ensure consistent and readable commit messages across the project, **hexaGenApp** enforces the use of a standardized commit format and a predefined set of commit types. + +--- + +## βœ… Commit Format + +Each commit message must follow this format: + +```text +(optional-scope): +``` + +--- + +## 🧩 Supported Commit Types with Examples + +### 1. **feat** β€” A new feature for the user or system + +```text +feat: add dark mode support +feat(auth): implement token refresh logic +feat(ui): create responsive navbar component +``` + +### 2. **fix** β€” A bug fix that impacts user behavior + +```text +fix: resolve crash on empty input +fix(api): correct 500 error on login +fix(auth): fix token expiration handling +``` + +### 3. **docs** β€” Changes to documentation only + +```text +docs: update README with setup instructions +docs(contributing): add issue template section +docs(api): fix typo in endpoint descriptions +``` + +### 4. **style** β€” Code style changes (formatting, white-space, etc.) + +```text +style: reformat code with Prettier +style(auth): fix indentation +style: remove unnecessary semicolons +``` + +### 5. **refactor** β€” Code changes that neither fix a bug nor add a feature + +```text +refactor: simplify state management logic +refactor(db): reorganize model definitions +refactor: extract common utility functions +``` + +### 6. **perf** β€” A code change that improves performance + +```text +perf(api): cache frequently accessed data +perf: reduce image load time by optimizing assets +perf(ui): memoize expensive component renders +``` + +### 7. **test** β€” Adding or updating tests + +```text +test: add unit tests for user service +test(auth): improve test coverage for login flow +test: mock API for integration tests +``` + +### 8. **chore** β€” Routine tasks like build process, dependencies + +```text +chore: update project dependencies +chore(lint): add eslint config +chore: clean up temporary files +``` + +### 9. **ci** β€” CI/CD configuration and scripts + +```text +ci: add GitHub Actions workflow +ci: fix broken CI script +ci: integrate code coverage reporting +``` + +### 10. **build** β€” Changes to build system or dependencies + +```text +build: switch to Vite from Webpack +build: update TypeScript compiler settings +build: configure output directory for deployment +``` + +### 11. **release** β€” Versioning or release-related changes + +```text +release: bump version to 1.2.0 +release: update changelog for new release +release: prepare hotfix 1.2.1 +``` + +### 12. **hotfix** β€” Urgent fixes, often related to production issues + +```text +hotfix: fix production crash on launch +hotfix(auth): patch login issue in prod +hotfix(api): temporary rollback for breaking endpoint +``` + +--- + +## 🚫 What to Avoid + +- Do **not** use generic commit messages like "update" or "fix bug". +- Do **not** push without proper commit type and summary. +- Do **not** include long descriptions in the title. + +--- + +## πŸ›  Tools & Automation + +This strategy is supported by tools such as: + +- **commitlint** for linting commit messages. +- **Husky** to enforce commit rules pre-commit. +- **Semantic Release** (optional) for automated versioning based on commit messages. + +--- + +## πŸ’‘ Tips + +- Use imperative mood: "add" not "added" or "adds". +- Keep summary under 72 characters. +- Reference issues when necessary (e.g., `fix: resolve #42`). + +--- diff --git a/docs/COMMUNITY.md b/docs/COMMUNITY.md new file mode 100644 index 0000000..e3104a3 --- /dev/null +++ b/docs/COMMUNITY.md @@ -0,0 +1,38 @@ + + +# Community Guidelines + +Welcome to the hexaGenApp community! This document outlines how to participate respectfully and productively in our ecosystem. + +## πŸ’¬ Where to Engage + +- **GitHub Discussions**: For feature ideas, architecture talk, or casual questions. +- **Issues**: Report bugs, suggest enhancements, or raise questions directly related to the codebase. +- **Pull Requests**: Contributions should be discussed in PRs with context and intention clearly explained. + +## 🀝 Principles + +- **Be Respectful**: Assume good intent. Treat others with kindness and empathy. +- **Stay on Topic**: Keep discussions focused and relevant to the project. +- **Collaborate Openly**: Share knowledge. Avoid gatekeeping or dismissive behavior. + +## 🚫 Not Allowed + +- Harassment, hate speech, or discrimination of any kind +- Spamming, trolling, or irrelevant self-promotion +- Malicious code or behavior + +## βœ… Tips for Contribution + +- Read the [CONTRIBUTING](CONTRIBUTING.md) guide before submitting issues or PRs. +- Use English for all communications to keep the project inclusive. +- Label your contributions clearly and use commit conventions. + +## πŸ“§ Need Help? + +Reach out via [GitHub Issues](https://github.com/hTuneSys/hexaGenApp/issues) or check the [SUPPORT](SUPPORT.md) for assistance. + +Thank you for being part of hexaGenApp! We value your contributions and presence. diff --git a/docs/CONFIGURATION.md b/docs/CONFIGURATION.md new file mode 100644 index 0000000..94f0a3b --- /dev/null +++ b/docs/CONFIGURATION.md @@ -0,0 +1,12 @@ + + +# CONFIGURATION.md + +This document explains how configuration is managed across the hexaGenApp project. It includes environment variables, default settings, runtime parameters, and CI/CD setup. + +--- + +This guide helps contributors safely configure and run the project in various environments. diff --git a/docs/CONTACT.md b/docs/CONTACT.md new file mode 100644 index 0000000..06ca165 --- /dev/null +++ b/docs/CONTACT.md @@ -0,0 +1,58 @@ + + +# CONTACT.md + +If you have questions, suggestions, or need support for the hexaGenApp project, please use the appropriate communication channels below. + +--- + +## πŸ“¬ General Inquiries + +For any general inquiries about the project, feel free to open a [GitHub Discussion](https://github.com/hTuneSys/hexaGenApp/discussions) or reach out via email: + +- Email: [info@hexatune.com](mailto:info@hexatune.com) + +--- + +## 🐞 Technical Issues / Bug Reports + +For bug reports, feature requests, or support questions, please use our [GitHub Issues](https://github.com/hTuneSys/hexaGenApp/issues) page and select the appropriate template: + +- [Bug Report](https://github.com/hTuneSys/hexaGenApp/issues/new?template=bug-report.md) +- [Feature Request](https://github.com/hTuneSys/hexaGenApp/issues/new?template=feature-request.md) +- [Documentation Issue](https://github.com/hTuneSys/hexaGenApp/issues/new?template=documentation.md) +- [Support Request](https://github.com/hTuneSys/hexaGenApp/issues/new?template=support.md) +- [General Question](https://github.com/hTuneSys/hexaGenApp/issues/new?template=question.md) + +--- + +## πŸ”’ Security Reports + +If you discover a security vulnerability, please follow the guidelines in [SECURITY](../.github/SECURITY.md) or contact us securely at: + +- Email: [info@hexatune.com](mailto:info@hexatune.com) + +--- + +## πŸ’Ό Sponsorships & Partnerships + +For sponsorships, collaborations, or media inquiries, please see our [FUNDING.yml](https://github.com/hTuneSys/hexaGenApp/blob/main/.github/FUNDING.yml) or contact: + +- Email: [info@hexatune.com](mailto:info@hexatune.com) + +--- + +## πŸ‘₯ Community & Contributions + +If you're interested in contributing, collaborating, or joining the discussion: + +- Read the [CONTRIBUTING](../.github/CONTRIBUTING.md) +- Follow our [CODE_OF_CONDUCT](../.github/CODE_OF_CONDUCT.md) +- Join community discussions on GitHub + +--- + +We value transparency and open collaboration. Thank you for being part of the hexaGenApp community! diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md new file mode 100644 index 0000000..bad7ebf --- /dev/null +++ b/docs/CONTRIBUTING.md @@ -0,0 +1,112 @@ + + +# Contributing to hexaGenApp + +Thank you for your interest in contributing to **hexaGenApp**! +This document outlines how to get involved, contribute code or ideas, and follow our development process. + +--- + +## πŸ“š Before You Start + +Please review the following core documents: + +- [Getting Started](https://github.com/hTuneSys/hexaGenApp/blob/main/docs/GETTING_STARTED.md) +- [Architecture](https://github.com/hTuneSys/hexaGenApp/blob/main/docs/ARCHITECTURE.md) +- [Branch Strategy](https://github.com/hTuneSys/hexaGenApp/blob/main/docs/BRANCH_STRATEGY.md) +- [Project Board](https://github.com/hTuneSys/hexaGenApp/blob/main/docs/PROJECT_BOARD.md) +- [FAQ](https://github.com/hTuneSys/hexaGenApp/blob/main/docs/FAQ.md) +- [README](https://github.com/hTuneSys/hexaGenApp#readme) + +--- + +## 🧩 Contribution Types + +- **Code:** New features, bugfixes, enhancements to modules or core +- **Plugins:** External integrations, reusable logic extensions +- **Docs:** Fixing typos, improving structure, or writing new guides +- **Issues & Feedback:** Filing issues, proposing ideas or improvements + +--- + +## πŸ”€ Branch Strategy + +Please follow our [Branching Guide](https://github.com/hTuneSys/hexaGenApp/blob/main/docs/BRANCH_STRATEGY.md) + +- Always branch from `develop` +- Use one of the allowed types as prefix: + `feat/`, `fix/`, `chore/`, `refactor/`, `test/`, `docs/`, `ci/`, `perf/`, `build/`, `release/`, `hotfix/`, `style/` +- Example: `feat/auth-handler`, `fix/login-bug`, `docs/contributing` +- Never branch from `main` +- Only maintainers may merge to `main` or `release/*` + +--- + +## ✏️ Commit & PR Formatting + +All commits and pull requests must follow [Conventional Commits](https://www.conventionalcommits.org/): + +### βœ… Allowed Types + +`feat`, `fix`, `chore`, `refactor`, `test`, `docs`, `ci`, `perf`, `build`, `release`, `hotfix`, `style` + +### πŸ“ Examples + +```bash +feat: add user authentication module +fix: resolve panic on empty payload +chore: remove unused dependencies +refactor: simplify scheduler logic +test: add unit tests for HexaStore +docs: improve contributing guide +ci: update GitHub Actions for linting +perf: optimize event matching engine +build: update pubspec.yaml deps and app version +release: prepare v0.2.0 release +hotfix: patch critical runtime bug +style: reformat codebase with dart format +``` + +PR titles must follow the same format. Title linting is enforced. + +--- + +## πŸ§ͺ PR Flow & Project Board + +All contributions are tracked in the [Project Board](https://github.com/hTuneSys/hexaGenApp/blob/main/docs/PROJECT_BOARD.md): + +1. Choose or create an issue +2. Fork the repo and branch from `develop` +3. Submit a PR with a descriptive title +4. PR flows through: + - 🟑 In Progress + - πŸ” In Review + - βœ… Done + +--- + +## 🏷 Label System + +Labels are automatically assigned based on the module or type. +Refer to [Labelling Strategy](https://github.com/hTuneSys/hexaGenApp/blob/main/docs/LABELLING_STRATEGY.md) + +--- + +## πŸ” CI/CD & Releases + +- All PRs must pass checks (build, test, format, lint) +- PRs are merged into `develop`, then promoted to `release/*` +- Only merges into `main` trigger semantic-release automation + +--- + +## πŸ™‹ Support & Communication + +- Questions? Use [GitHub Discussions](https://github.com/hTuneSys/hexaGenApp/discussions) +- For sensitive topics, contact [info@hexatune.com](mailto:info@hexatune.com) +- Please follow our [Code of Conduct](https://github.com/hTuneSys/hexaGenApp/blob/main/.github/CODE_OF_CONDUCT.md) + +We’re excited to build hexaGenApp with your help πŸš€ diff --git a/docs/DEVELOPMENT_GUIDE.md b/docs/DEVELOPMENT_GUIDE.md new file mode 100644 index 0000000..33e9f38 --- /dev/null +++ b/docs/DEVELOPMENT_GUIDE.md @@ -0,0 +1,83 @@ + + +# DEVELOPMENT_GUIDE.md + +This guide helps developers understand how to work with the hexaGenApp project. It explains the internal structure, tools, development workflow, and best practices. + +--- + +## πŸ”€ Branching & PRs + +Follow the naming rules defined in [BRANCH_STRATEGY](BRANCH_STRATEGY.md) and [PR_STRATEGY](PR_STRATEGY.md). Allowed branch prefixes: + +- `feat/`, `fix/`, `refactor/`, `test/`, `docs/`, `ci/`, etc. + +Create a feature branch: + +```bash +git checkout -b feat/new-module +``` + +Open a PR with a valid title and follow checklist from [PULL_REQUEST_TEMPLATE](../.github/PULL_REQUEST_TEMPLATE.md). + +--- + +## 🧱 Commit Conventions + +Use the supported 12 types from [COMMIT_STRATEGY](COMMIT_STRATEGY.md). Example: + +```bash +feat: add token parsing logic +``` + +Use semantic and meaningful commits. PRs with vague or mixed commits will be rejected. + +--- + +## πŸ§ͺ CI/CD Pipeline + +CI runs automatically via GitHub Actions: + +- Linting (`flutter analyze`) +- Formatting (`dart format --output none --set-exit-if-changed .`) +- Tests (`flutter test`) +- Branch and commit validation + +--- + +## πŸ›‘οΈ Branch Protection + +Branches like `main`, `release`, and `develop` are protected: + +- Require PR review +- Require status checks +- Require conventional commit title + +--- + +## πŸ“š Documentation & Contributions + +All contributors must follow the documentation style and structure: + +- Use `///` for public Rust docs +- Update relevant `.md` files in `docs/` when modifying features +- Follow the guide in [CONTRIBUTING](CONTRIBUTING.md) + +--- + +## 🧠 Helpful Resources + +- [GETTING_STARTED](GETTING_STARTED.md) – Initial setup and quick commands +- [ARCHITECTURE](ARCHITECTURE.md) – System design and modules +- [CONTACT](CONTACT.md), [SUPPORT](SUPPORT.md) – Communication channels +- [LABELLING_STRATEGY](LABELLING_STRATEGY.md) – Tag issues/PRs correctly +- [PROJECT_STRUCTURE](PROJECT_STRUCTURE.md) – Directory structure +- [BRANCH_STRATEGY](BRANCH_STRATEGY.md) – Branch naming conventions +- [COMMIT_STRATEGY](COMMIT_STRATEGY.md) – Commit message conventions + +--- + +Welcome to the hexaGenApp dev team! Let’s build it right from the start. diff --git a/docs/FAQ.md b/docs/FAQ.md new file mode 100644 index 0000000..3720741 --- /dev/null +++ b/docs/FAQ.md @@ -0,0 +1,68 @@ + + +# FAQ.md + +Frequently Asked Questions (FAQ) about the hexaGenApp project. If you have a question not listed here, feel free to open a GitHub Discussion or an Issue. + +--- + +## ❓ How do I get started? + +Refer to the [GETTING_STARTED](GETTING_STARTED.md) file (coming soon). It will walk you through setup, commands, and examples. + +--- + +## ❓ How can I contribute? + +Check out the [CONTRIBUTING](CONTRIBUTING.md) for instructions on how to suggest changes, report issues, and submit pull requests. + +--- + +## ❓ Are there any requirements before contributing? + +Yes. You must: + +- Follow the commit message strategy defined in [COMMIT_STRATEGY](COMMIT_STRATEGY.md) +- Respect the branching and PR rules +- Adhere to the code of conduct + +--- + +## ❓ What if I find a bug? + +Open an issue using the [Bug Report Template](https://github.com/hTuneSys/hexaGenApp/issues/new?template=bug-report.md) and provide as much detail as possible. + +--- + +## ❓ What should I do if I have a feature idea? + +Use the [Feature Request Template](https://github.com/hTuneSys/hexaGenApp/issues/new?template=feature-request.md) or start a discussion to propose your idea. + +--- + +## ❓ How is this project licensed? + +hexaGenApp is licensed under the MIT License. See the [LICENSE](https://github.com/hTuneSys/hexaGenApp/blob/main/LICENSE) file for more details. + +--- + +## ❓ Who maintains this project? + +The project is maintained by the community, led by (Husamettin ARABACI). Maintainers and contributors are listed in the GitHub repository. + +--- + +## ❓ How can I get help? + +You can: + +- Open a GitHub Discussion +- File an issue using the Support template +- Refer to the [SUPPORT](SUPPORT.md) and [CONTACT](CONTACT.md) files + +--- + +Still have questions? Create a new discussion or join the community β€” we're happy to help! diff --git a/docs/GETTING_STARTED.md b/docs/GETTING_STARTED.md new file mode 100644 index 0000000..ef4f072 --- /dev/null +++ b/docs/GETTING_STARTED.md @@ -0,0 +1,19 @@ + + +# GETTING_STARTED.md + +Welcome to the hexaGenApp project! This guide will help you set up your environment, build the project, and understand the basics of how to start using or contributing to hexaGenApp. + +--- + +## πŸ“š Next Steps + +- Check [ARCHITECTURE](ARCHITECTURE.md) to understand system design +- Review [CONTRIBUTING](CONTRIBUTING.md) to contribute effectively + +--- + +You're now ready to explore and build with hexaGenApp. Happy hacking! diff --git a/docs/LABELLING_STRATEGY.md b/docs/LABELLING_STRATEGY.md new file mode 100644 index 0000000..addf5d6 --- /dev/null +++ b/docs/LABELLING_STRATEGY.md @@ -0,0 +1,77 @@ + + +# LABELLING_STRATEGY.md + +This document defines the complete, system-approved label taxonomy used in the hexaGenApp GitHub repository. These labels help organize issues and pull requests for better triage, automation, and collaboration. + +--- + +## 🧭 Meta Labels + +- `default:unclassified` – No specific category matched this PR or file path + +--- + +## πŸ§‘β€πŸ’» Contribution Labels + +- `good first issue` – Good entry point for contributors +- `help wanted` – Contributions welcome + +--- + +## 🧩 Module Labels + +- `module:source` – Effected source code +- `module:docs` – Documentation tasks +- `module:cli` – CLI tools + +--- + +## πŸ“Š Priority Labels + +- `priority:high` – Urgent and critical tasks +- `priority:medium` – Normal importance +- `priority:low` – Can wait + +--- + +## πŸ” Status Labels + +- `status:blocked` – Blocked by another issue or PR +- `status:needs-review` – Awaiting code review +- `status:needs-spec` – Needs specification or detail +- `status:waiting-feedback` – Awaiting external feedback + +--- + +## 🏷️ Type Labels + +- `type:bug` – A defect or malfunction +- `type:ci` – CI/CD workflows and automation tasks +- `type:compliance` – Standards, audits, and certification checks (e.g., OpenSSF) +- `type:doc` – Documentation content +- `type:enhancement` – Enhancement of existing functionality +- `type:feature` – New feature or capability +- `type:infra` – Infrastructure, CI/CD, build system +- `type:legal` – Legal compliance tasks like DCO/CLA +- `type:refactor` – Code restructuring with no behavior change +- `type:release` – Tasks related to versioning, packaging, and publishing +- `type:security` – Vulnerability or security concern +- `type:test` – Test writing or coverage + +--- + +## βœ… Best Practices + +- Use exactly one `type:` label per issue/PR +- Use at most one `priority:` label +- Assign `status:` labels to track board movement +- Apply `module:` labels to indicate affected areas +- `default:unclassified` should be removed once other labels are assigned + +--- + +This standardized labeling system enables GitHub automation, PR triage, and progress tracking across the hexaGenApp project. diff --git a/docs/PROJECT_BOARD.md b/docs/PROJECT_BOARD.md new file mode 100644 index 0000000..886e202 --- /dev/null +++ b/docs/PROJECT_BOARD.md @@ -0,0 +1,60 @@ + + +# PROJECT_BOARD.md + +This document describes the structure and usage of the hexaGenApp GitHub Project Board used for tracking issues, workflows, and development progress. + +--- + +## 🧭 Board Overview + +The hexaGenApp project board is organized using GitHub Projects (v2) with the following columns: + +1. **Inbox** – New issues or ideas needing triage +2. **Backlog** – Approved but not yet scheduled items +3. **In Progress** – Actively being worked on +4. **In Review** – Awaiting PR review or discussion +5. **Blocked** – Work paused due to dependencies +6. **Done** – Completed tasks +7. **Closed** – Rejected or archived items + +--- + +## 🏷️ Label Integration + +Cards are automatically categorized using GitHub Labels, such as: + +- `type: bug`, `type: feature`, `type: question`, etc. +- `status: in progress`, `status: review`, `status: blocked` +- `priority: high`, `priority: low` + +These labels help sort and filter cards efficiently. + +--- + +## πŸ”„ Workflow Rules + +- Issues moved to **In Progress** must be assigned to a contributor. +- Pull Requests are linked to issues and automatically update board state. +- The **In Review** column is for PRs with open reviews. +- Cards in **Done** are periodically cleaned up to **Closed**. + +--- + +## πŸ”§ Automation + +GitHub Actions and project workflows automate the board: + +- Auto-assign labels on issue creation +- Auto-move cards based on PR status +- Auto-close completed issues when PRs are merged + +--- + +## πŸ”— Access the Board + +Visit the live project board here: +➑️ [BOARD](https://github.com/orgs/hTuneSys/projects/16/views/1) diff --git a/docs/PROJECT_STRUCTURE.md b/docs/PROJECT_STRUCTURE.md new file mode 100644 index 0000000..a38a520 --- /dev/null +++ b/docs/PROJECT_STRUCTURE.md @@ -0,0 +1,6 @@ + + +# πŸ“ Project Structure: `hexaGenApp` diff --git a/docs/PR_STRATEGY.md b/docs/PR_STRATEGY.md new file mode 100644 index 0000000..51d52a5 --- /dev/null +++ b/docs/PR_STRATEGY.md @@ -0,0 +1,88 @@ + + +# PR_STRATEGY.md + +This document outlines the strategy, conventions, and rules for managing Pull Requests (PRs) in the hexaGenApp project. + +--- + +## βœ… PR Title Convention + +All PR titles must follow one of the 12 supported types: + +- `feat`: New feature +- `fix`: Bug fix +- `docs`: Documentation only changes +- `style`: Code style, formatting (no logic change) +- `refactor`: Code refactoring (no feature change) +- `perf`: Performance improvements +- `test`: Adding or modifying tests +- `ci`: Changes to CI/CD configuration +- `build`: Build system or dependencies +- `chore`: Maintenance or tooling +- `release`: Versioning, changelog updates +- `hotfix`: Emergency fix for critical issues + +**Example**: + +```bash +feat: add user authentication module +``` + +--- + +## πŸ“‹ PR Checklist + +Every PR must fulfill the following requirements: + +- [ ] Clear and descriptive title using a valid PR type +- [ ] Related issue linked (if applicable) +- [ ] Description explains the context and purpose +- [ ] No unrelated changes or mixed concerns +- [ ] All checks pass (CI, lint, test) +- [ ] Reviewers assigned +- [ ] Labels applied + +--- + +## πŸ› οΈ PR Workflow + +1. **Create a feature/fix branch** + Use a semantic branch name like: + `feat/login-form`, `fix/null-crash`, `docs/api-guide` + +2. **Open a Draft PR** + Start as draft if it's a work-in-progress + +3. **Update the PR as work progresses** + Keep commits clean and meaningful + +4. **Mark as Ready for Review** + Request review from maintainers + +5. **Address Review Comments** + Resolve all conversations before merge + +--- + +## πŸ”’ Protection Rules + +- PRs targeting protected branches (e.g., `main`, `release`) must: + - Pass all status checks + - Be reviewed by at least 1 maintainer + - Use a valid PR title type + +--- + +## β›” What to Avoid + +- PRs with vague titles like β€œupdate” or β€œfix stuff” +- Mixing unrelated concerns in a single PR +- Skipping the review process or checks + +--- + +Adhering to this PR strategy ensures clean history, traceable changes, and predictable releases. diff --git a/docs/SECURITY.md b/docs/SECURITY.md new file mode 100644 index 0000000..612a0df --- /dev/null +++ b/docs/SECURITY.md @@ -0,0 +1,54 @@ + + +# πŸ” Security Policy + +Thank you for taking the time to help us improve the security of **hexaGenApp**. + +If you discover a vulnerability or security issue, we strongly encourage you to disclose it responsibly. + +--- + +## πŸ“¬ Reporting a Vulnerability + +Please report any security issues privately by emailing: + +**πŸ“§ [info@hexatune.com](mailto:info@hexatune.com)** + +Include the following information if possible: + +- A detailed description of the vulnerability +- Steps to reproduce the issue +- Any proof-of-concept code or screenshots +- Affected versions or environments + +You will receive a response within **3–5 business days**. + +Optionally, you may encrypt your report using our GPG key (coming soon). + +--- + +## πŸ” Scope + +This policy applies to vulnerabilities in: + +- Application logic +- Authentication/Authorization +- Data integrity and privacy +- Dependency and supply chain concerns + +--- + +## 🚫 Out of Scope + +The following will generally not be considered security issues: + +- Missing security headers +- Rate limiting or brute-force protection +- Outdated browser support + +--- + +Thank you for helping make **hexaGenApp** more secure! πŸ›‘οΈ diff --git a/docs/STYLE_GUIDE.md b/docs/STYLE_GUIDE.md new file mode 100644 index 0000000..6072d96 --- /dev/null +++ b/docs/STYLE_GUIDE.md @@ -0,0 +1,12 @@ + + +# STYLE_GUIDE.md + +This style guide ensures consistency across the codebase by outlining formatting rules, naming conventions, and Rust-specific practices used in the hexaGenApp project. + +--- + +Consistent style improves collaboration and makes onboarding easier. Stick to this guide for clean, professional code. diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md new file mode 100644 index 0000000..5b55b1e --- /dev/null +++ b/docs/SUMMARY.md @@ -0,0 +1,57 @@ + + +# SUMMARY.md + +Welcome to the hexaGenApp project documentation hub. This file summarizes the structure and purpose of each document found in the `docs/` directory. + +--- + +## 🧭 Project Strategy & Structure + +- [SUMMARY](SUMMARY.md) – High-level summary of all documentation files +- [ARCHITECTURE](ARCHITECTURE.md) – System design and internal architecture + +--- + +## πŸ›  Contribution & Workflow + +- [CONTRIBUTING](CONTRIBUTING.md) – Guidelines for contributing (issues, PRs, code) +- [CODE_OF_CONDUCT](CODE_OF_CONDUCT.md) – Community behavior rules +- [PR_STRATEGY](PR_STRATEGY.md) – Rules for naming, reviewing, and merging PRs +- [COMMIT_STRATEGY](COMMIT_STRATEGY.md) – Commit message types and best practices +- [BRANCH_STRATEGY](BRANCH_STRATEGY.md) – Naming and usage rules for git branches +- [LABELLING_STRATEGY](LABELLING_STRATEGY.md) – System of issue/PR labels and their purpose +- [PROJECT_STRUCTURE](PROJECT_STRUCTURE.md) – Directory structure and module breakdown + +--- + +## πŸ‘¨β€πŸ’» Developer Tools + +- [CONFIGURATION](CONFIGURATION.md) – Runtime and environment settings +- [STYLE_GUIDE](STYLE_GUIDE.md) – Coding conventions and formatting rules +- [GETTING_STARTED](GETTING_STARTED.md) – Setup instructions for new devs +- [DEVELOPMENT_GUIDE](DEVELOPMENT_GUIDE.md) – In-depth dev guide +- [FAQ](FAQ.md) – Frequently asked questions + +--- + +## 🀝 Community & Support + +- [COMMUNITY](COMMUNITY.md) – Community engagement and interaction rules +- [CONTACT](CONTACT.md) – How to reach maintainers or report issues +- [SUPPORT](SUPPORT.md) – How to get help and where to ask questions + +--- + +## 🌐 Branding & Website + +- [BRANDING](BRANDING.md) – Visual identity and logo usage +- [CNAME](CNAME) – Custom domain for GitHub Pages +- [Web Site](https://hexatune.com) – Landing page of documentation site + +--- + +This summary will help you navigate the docs efficiently and understand their purpose in the project lifecycle. diff --git a/docs/SUPPORT.md b/docs/SUPPORT.md new file mode 100644 index 0000000..fbea634 --- /dev/null +++ b/docs/SUPPORT.md @@ -0,0 +1,28 @@ + + +# πŸ™‹ Support Guide for hexaGenApp + +Thanks for using **hexaGenApp**! Below are the ways you can get help or contact the maintainers. + +--- + +## πŸ“¬ Contact Channels + +| Channel | Purpose | +|----------------|-------------------------------------------------------------------| +| [Discussions](https://github.com/hTuneSys/hexaGenApp/discussions) | Ask questions, suggest features, or open design talks | +| [Issues](https://github.com/hTuneSys/hexaGenApp/issues) | Report bugs or request features | +| [Email](mailto:info@hexatune.com) | For private or sensitive support | + +--- + +## πŸ’‘ Tips + +- Before opening an issue, please check the [FAQ](https://github.com/hTuneSys/hexaGenApp/blob/main/docs/FAQ.md). +- Use appropriate labels when opening issues to help us respond faster. +- For security-related concerns, please read our [Security Policy](https://github.com/hTuneSys/hexaGenApp/blob/main/.github/SECURITY.md). + +We appreciate your feedback and contributions πŸ’™ diff --git a/package.json b/package.json new file mode 100644 index 0000000..f213ff2 --- /dev/null +++ b/package.json @@ -0,0 +1,15 @@ +{ + "name": "hexagenapp", + "version": "0.0.0", + "description": "Semantic-release metadata for hexaGenApp", + "private": true, + "repository": "https://github.com/hTuneSys/hexaGenApp", + "devDependencies": { + "semantic-release": "^22.0.0", + "@semantic-release/changelog": "^6.0.0", + "@semantic-release/github": "^9.0.0", + "@semantic-release/git": "^10.0.0", + "@semantic-release/commit-analyzer": "^9.0.0", + "@semantic-release/release-notes-generator": "^10.0.0" + } +}