From 54090c0065289cbd3ef5e85a8dec8e510ed2f4a2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 11 Feb 2026 09:39:00 +0000 Subject: [PATCH 1/9] Initial plan From b2cc6b8c77f74e1401f18330429b384dc77cf6ee Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 11 Feb 2026 09:42:03 +0000 Subject: [PATCH 2/9] Add initial .github structure with issue templates, workflows, and community files Co-authored-by: professoroakz <6593422+professoroakz@users.noreply.github.com> --- .github/CODEOWNERS | 26 +++++ .github/FUNDING.yml | 1 + .github/ISSUE_TEMPLATE/bug_report.md | 31 ++++++ .github/ISSUE_TEMPLATE/config.yml | 11 ++ .github/ISSUE_TEMPLATE/documentation.md | 20 ++++ .github/ISSUE_TEMPLATE/feature_request.md | 24 +++++ .github/SECURITY.md | 71 +++++++++++++ .github/dependabot.yml | 41 ++++++++ .github/pull_request_template.md | 36 +++++++ .github/workflows/ci.yml | 118 ++++++++++++++++++++++ .github/workflows/stale.yml | 77 ++++++++++++++ 11 files changed, 456 insertions(+) create mode 100644 .github/CODEOWNERS 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/SECURITY.md create mode 100644 .github/dependabot.yml create mode 100644 .github/pull_request_template.md create mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/stale.yml diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..2b2af5b --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,26 @@ +# Code Owners +# These owners will be the default owners for everything in repositories +# They will be requested for review when someone opens a pull request + +# Global owners for all repositories +* @professoroakz + +# Documentation +*.md @professoroakz +/docs/ @professoroakz + +# Configuration files +/.github/ @professoroakz +*.yml @professoroakz +*.yaml @professoroakz +*.json @professoroakz +*.toml @professoroakz + +# CI/CD workflows +/.github/workflows/ @professoroakz + +# Community health files +/CODE_OF_CONDUCT.md @professoroakz +/CONTRIBUTING.md @professoroakz +/SECURITY.md @professoroakz +/LICENSE @professoroakz diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..63d276c --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1 @@ +github: [professoroakz] diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..e6ab744 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,31 @@ +--- +name: Bug Report +about: Create a report to help us improve +title: '[BUG] ' +labels: bug +assignees: '' + +--- + +## ๐Ÿ› Bug Description +A clear and concise description of what the bug is. + +## ๐Ÿ“ Steps to Reproduce +Steps to reproduce the behavior: +1. Go to '...' +2. Run command '....' +3. 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. + +## ๐Ÿ–ฅ๏ธ Environment +- **OS**: [e.g. macOS, Ubuntu, Windows] +- **Version**: [e.g. 22.04] +- **Browser/Tool**: [e.g. Chrome, VS Code] + +## ๐Ÿ“Ž Additional Context +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..cc22e44 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,11 @@ +blank_issues_enabled: false +contact_links: + - name: ๐Ÿ’ฌ GitHub Discussions + url: https://github.com/orgs/professoroakz/discussions + about: Ask questions and discuss ideas with the community + - name: ๐Ÿ“š Organization Profile + url: https://github.com/professoroakz + about: Learn more about professoroakz projects + - name: ๐Ÿ”’ Security Policy + url: https://github.com/professoroakz/.github/security/policy + about: Report security vulnerabilities privately diff --git a/.github/ISSUE_TEMPLATE/documentation.md b/.github/ISSUE_TEMPLATE/documentation.md new file mode 100644 index 0000000..7344505 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/documentation.md @@ -0,0 +1,20 @@ +--- +name: Documentation +about: Suggest improvements to documentation +title: '[DOCS] ' +labels: documentation +assignees: '' + +--- + +## ๐Ÿ“š Which Document Needs Improvement? +Reference the file or section that needs updates. + +## โ“ What's Unclear or Missing? +Describe what information is unclear or missing. + +## โœ๏ธ Suggested Improvements +How would you improve it? Provide specific suggestions if possible. + +## ๐Ÿ“Ž Additional Context +Add any other context about the documentation improvement here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..882a30e --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,24 @@ +--- +name: Feature Request +about: Suggest an idea for this project +title: '[FEATURE] ' +labels: enhancement +assignees: '' + +--- + +## ๐Ÿ’ก Feature Description +A clear and concise description of the feature you'd like to see. + +## ๐Ÿค” Problem Statement +Is your feature request related to a problem? Please describe. +Ex. I'm always frustrated when [...] + +## ๐Ÿ’ญ Proposed Solution +A clear and concise description of what you want to happen. + +## ๐Ÿ”„ Alternatives Considered +A clear and concise description of any alternative solutions or features you've considered. + +## ๐Ÿ“Ž Additional Context +Add any other context, mockups, or screenshots about the feature request here. diff --git a/.github/SECURITY.md b/.github/SECURITY.md new file mode 100644 index 0000000..9cce71a --- /dev/null +++ b/.github/SECURITY.md @@ -0,0 +1,71 @@ +# Security Policy + +## ๐Ÿ”’ Reporting a Vulnerability + +We take security seriously. If you discover a security vulnerability in any project under the professoroakz organization, please report it responsibly. + +### How to Report + +1. **DO NOT** open a public issue for security vulnerabilities +2. Use GitHub's private security advisory feature: + - Go to the repository's Security tab + - Click "Report a vulnerability" + - Fill out the advisory form with details +3. Alternatively, email: professoroakz@users.noreply.github.com + +### What to Include + +- **Description**: Clear description of the vulnerability +- **Impact**: What could an attacker do with this vulnerability? +- **Reproduction Steps**: Detailed steps to reproduce the issue +- **Affected Versions**: Which versions are affected? +- **Suggested Fix**: If you have ideas for a fix (optional) + +## ๐Ÿ“… Response Timeline + +We aim to respond to security reports promptly: + +- **Initial Response**: Within 48 hours +- **Status Update**: Within 7 days +- **Fix Timeline**: Depends on severity + - ๐Ÿ”ด **Critical**: 24-48 hours + - ๐ŸŸ  **High**: 7 days + - ๐ŸŸก **Medium**: 30 days + - ๐ŸŸข **Low**: 90 days + +## โœ… Supported Versions + +Security updates are provided for the latest stable version of each project. Older versions may receive critical security patches on a case-by-case basis. + +## ๐Ÿ›ก๏ธ Security Best Practices + +When contributing to or using projects in this organization: + +- โœ… Never commit sensitive information (API keys, passwords, tokens, credentials) +- โœ… Use environment variables or `.env` files for secrets (ensure they're in `.gitignore`) +- โœ… Review code and scripts before execution +- โœ… Keep dependencies updated +- โœ… Use the latest stable version +- โœ… Enable two-factor authentication on your GitHub account +- โœ… Use SSH keys or personal access tokens for authentication + +## ๐Ÿ“ข Disclosure Policy + +- Security issues are addressed privately +- Fixes are developed and tested before public disclosure +- Once a fix is released, a security advisory will be published +- Credit will be given to security researchers (if desired) + +## ๐Ÿ™ Thank You + +Thank you for helping keep the professoroakz projects and community safe and secure! + +## ๐Ÿ“ž Contact + +For security concerns: +- Create a private security advisory on GitHub +- Email: professoroakz@users.noreply.github.com + +--- + +*This security policy applies to all repositories under the professoroakz organization.* diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..f665959 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,41 @@ +version: 2 +updates: + # GitHub Actions + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + open-pull-requests-limit: 5 + labels: + - "dependencies" + - "github-actions" + commit-message: + prefix: "chore(deps)" + + # npm dependencies + - package-ecosystem: "npm" + directory: "/" + schedule: + interval: "weekly" + open-pull-requests-limit: 10 + labels: + - "dependencies" + - "npm" + commit-message: + prefix: "chore(deps)" + ignore: + # Ignore major version updates for now + - dependency-name: "*" + update-types: ["version-update:semver-major"] + + # Docker + - package-ecosystem: "docker" + directory: "/" + schedule: + interval: "weekly" + open-pull-requests-limit: 5 + labels: + - "dependencies" + - "docker" + commit-message: + prefix: "chore(deps)" diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..dab1d33 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,36 @@ +## Description + + +## ๐ŸŽฏ Type of Change + + +- [ ] ๐Ÿ“ Documentation update +- [ ] โœจ New feature +- [ ] ๐Ÿ› Bug fix +- [ ] ๐Ÿ”ง Configuration change +- [ ] ๐ŸŽจ Style/formatting +- [ ] โ™ป๏ธ Refactoring +- [ ] ๐Ÿ—‘๏ธ Removal +- [ ] ๐Ÿ”’ Security fix + +## โœ… Checklist + + +- [ ] I have tested my changes +- [ ] I have updated documentation as needed +- [ ] My code follows the project's style guidelines +- [ ] I have added comments where necessary +- [ ] No sensitive information is included in my changes +- [ ] I have reviewed my own code + +## ๐Ÿ”— Related Issues + + +Fixes # +Related to # + +## ๐Ÿ“ธ Screenshots (if applicable) + + +## ๐Ÿ“Ž Additional Context + diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..338e34c --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,118 @@ +name: CI + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + workflow_dispatch: + +jobs: + validate: + name: Validate Files + runs-on: ubuntu-latest + + steps: + - name: ๐Ÿ“ฅ Checkout repository + uses: actions/checkout@v4 + + - name: ๐Ÿ“ Validate Markdown files + uses: DavidAnson/markdownlint-cli2-action@v16 + with: + globs: | + **/*.md + !node_modules/** + !**/backup_*.gsbak + + - name: โœ… Validate YAML files + run: | + # Install yamllint + pip install yamllint + + # Create yamllint config + cat > .yamllint.yml << EOF + extends: default + rules: + line-length: + max: 120 + level: warning + comments: + min-spaces-from-content: 1 + EOF + + # Validate YAML files + find . -name '*.yml' -o -name '*.yaml' | grep -v node_modules | xargs yamllint -c .yamllint.yml + + - name: ๐Ÿ” Check for broken links + uses: gaurav-nelson/github-action-markdown-link-check@v1 + with: + use-quiet-mode: 'yes' + config-file: '.github/mlc_config.json' + continue-on-error: true + + - name: ๐Ÿ“Š Verify file structure + run: | + echo "Checking required community health files..." + + required_files=( + "README.md" + "CODE_OF_CONDUCT.md" + "CONTRIBUTING.md" + "LICENSE" + ".github/ISSUE_TEMPLATE/bug_report.md" + ".github/ISSUE_TEMPLATE/feature_request.md" + ".github/pull_request_template.md" + ) + + missing=0 + for file in "${required_files[@]}"; do + if [ ! -f "$file" ]; then + echo "โŒ Missing: $file" + missing=1 + else + echo "โœ… Found: $file" + fi + done + + if [ $missing -eq 1 ]; then + echo "Some required files are missing!" + exit 1 + fi + + echo "All required files are present!" + + test-npm: + name: Test NPM Package + runs-on: ubuntu-latest + if: hashFiles('package.json') != '' + + steps: + - name: ๐Ÿ“ฅ Checkout repository + uses: actions/checkout@v4 + + - name: ๐Ÿ”ง Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '20' + cache: 'npm' + + - name: ๐Ÿ“ฆ Install dependencies + run: npm ci + + - name: ๐Ÿงช Run tests (if available) + run: npm test --if-present + + test-docker: + name: Test Docker Build + runs-on: ubuntu-latest + if: hashFiles('Dockerfile') != '' + + steps: + - name: ๐Ÿ“ฅ Checkout repository + uses: actions/checkout@v4 + + - name: ๐Ÿณ Build Docker image + run: docker build -t professoroakz/github-config:test . + + - name: โœ… Verify Docker image + run: docker run --rm professoroakz/github-config:test node --version diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml new file mode 100644 index 0000000..abedc66 --- /dev/null +++ b/.github/workflows/stale.yml @@ -0,0 +1,77 @@ +name: Stale Issues and PRs + +on: + schedule: + # Run daily at 00:00 UTC + - cron: '0 0 * * *' + workflow_dispatch: + +permissions: + issues: write + pull-requests: write + +jobs: + stale: + runs-on: ubuntu-latest + + steps: + - name: ๐Ÿท๏ธ Mark stale issues and PRs + uses: actions/stale@v9 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + + # Stale issue settings + stale-issue-message: | + ๐Ÿ‘‹ This issue has been automatically marked as stale because it has not had recent activity. + + It will be closed in 7 days if no further activity occurs. + + If this issue is still relevant, please: + - Add a comment to keep it open + - Update the issue with new information + - Add the `keep-open` label + + Thank you for your contributions! ๐Ÿ™ + + close-issue-message: | + ๐Ÿ”’ This issue has been automatically closed due to inactivity. + + If you believe this issue is still relevant, please feel free to reopen it or create a new issue with updated information. + + Thank you! ๐Ÿ™ + + days-before-stale: 60 + days-before-close: 7 + stale-issue-label: 'stale' + exempt-issue-labels: 'keep-open,pinned,security,bug' + + # Stale PR settings + stale-pr-message: | + ๐Ÿ‘‹ This pull request has been automatically marked as stale because it has not had recent activity. + + It will be closed in 14 days if no further activity occurs. + + If this PR is still relevant, please: + - Update the PR with requested changes + - Rebase on the latest main branch + - Add a comment with status update + - Add the `keep-open` label + + Thank you for your contribution! ๐Ÿ™ + + close-pr-message: | + ๐Ÿ”’ This pull request has been automatically closed due to inactivity. + + If you'd like to continue work on this PR, please feel free to reopen it or create a new PR. + + Thank you! ๐Ÿ™ + + days-before-pr-stale: 90 + days-before-pr-close: 14 + stale-pr-label: 'stale' + exempt-pr-labels: 'keep-open,pinned,security,work-in-progress' + + # Additional settings + operations-per-run: 100 + remove-stale-when-updated: true + ascending: true From ccd7b1920cccb34c6e346b1c1108e0f6503987c1 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 11 Feb 2026 10:30:43 +0000 Subject: [PATCH 3/9] Add comprehensive community health files, build system, and documentation Co-authored-by: professoroakz <6593422+professoroakz@users.noreply.github.com> --- .editorconfig | 37 ++++ .github/CODEOWNERS | 27 +-- .github/ISSUE_TEMPLATE/bug_report.md | 40 ++-- .github/ISSUE_TEMPLATE/config.yml | 10 +- .github/ISSUE_TEMPLATE/documentation.md | 20 -- .github/ISSUE_TEMPLATE/feature_request.md | 27 +-- .github/SECURITY.md | 71 +------ .github/dependabot.yml | 34 ---- .github/mlc_config.json | 10 + .github/pull_request_template.md | 54 ++--- .github/workflows/ci.yml | 109 ++-------- .github/workflows/stale.yml | 77 ------- .gitignore | 22 ++ .markdownlint.json | 14 ++ CHANGELOG.md | 44 ++++ CODE_OF_CONDUCT.md | 24 +++ CONTRIBUTING.md | 24 +++ LICENSE | 21 ++ Makefile | 83 ++++++++ README.md | 19 +- SECURITY.md | 11 + SUPPORT.md | 38 ++++ bin/github-config | 140 +++++++++++++ docs/GUIDELINES.md | 228 +++++++++++++++++++++ docs/INSTALLATION.md | 238 ++++++++++++++++++++++ docs/TEMPLATES.md | 158 ++++++++++++++ docs/WORKFLOWS.md | 140 +++++++++++++ profile/README.md | 60 ++++-- test/run-tests.sh | 94 +++++++++ 29 files changed, 1460 insertions(+), 414 deletions(-) create mode 100644 .editorconfig delete mode 100644 .github/ISSUE_TEMPLATE/documentation.md create mode 100644 .github/mlc_config.json delete mode 100644 .github/workflows/stale.yml create mode 100644 .markdownlint.json create mode 100644 CHANGELOG.md create mode 100644 CODE_OF_CONDUCT.md create mode 100644 CONTRIBUTING.md create mode 100644 LICENSE create mode 100644 Makefile create mode 100644 SECURITY.md create mode 100644 SUPPORT.md create mode 100755 bin/github-config create mode 100644 docs/GUIDELINES.md create mode 100644 docs/INSTALLATION.md create mode 100644 docs/TEMPLATES.md create mode 100644 docs/WORKFLOWS.md create mode 100755 test/run-tests.sh diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..9ca6755 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,37 @@ +# EditorConfig helps maintain consistent coding styles +# https://editorconfig.org + +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true +indent_style = space +indent_size = 2 + +[*.md] +trim_trailing_whitespace = false +max_line_length = 120 + +[*.{yml,yaml}] +indent_size = 2 + +[*.json] +indent_size = 2 + +[*.py] +indent_size = 4 + +[*.{c,cpp,h,hpp}] +indent_size = 4 + +[*.{sh,bash}] +indent_size = 2 + +[Makefile] +indent_style = tab + +[*.go] +indent_style = tab diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 2b2af5b..bbe2256 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,26 +1,5 @@ -# Code Owners -# These owners will be the default owners for everything in repositories -# They will be requested for review when someone opens a pull request - -# Global owners for all repositories +# Default owners for this repo and shared config * @professoroakz -# Documentation -*.md @professoroakz -/docs/ @professoroakz - -# Configuration files -/.github/ @professoroakz -*.yml @professoroakz -*.yaml @professoroakz -*.json @professoroakz -*.toml @professoroakz - -# CI/CD workflows -/.github/workflows/ @professoroakz - -# Community health files -/CODE_OF_CONDUCT.md @professoroakz -/CONTRIBUTING.md @professoroakz -/SECURITY.md @professoroakz -/LICENSE @professoroakz +# Workflows +.github/workflows/ @professoroakz diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index e6ab744..ef6dc81 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -1,31 +1,29 @@ --- -name: Bug Report -about: Create a report to help us improve -title: '[BUG] ' +name: Bug report +about: Report something that isn't working +title: "[Bug] " labels: bug assignees: '' - --- -## ๐Ÿ› Bug Description -A clear and concise description of what the bug is. +## Description +A clear and concise description of the bug. -## ๐Ÿ“ Steps to Reproduce -Steps to reproduce the behavior: -1. Go to '...' -2. Run command '....' -3. See error +## Steps to reproduce +1. ... +2. ... +3. ... -## โœ… Expected Behavior -A clear and concise description of what you expected to happen. +## Expected behavior +What you expected to happen. -## ๐Ÿ“ธ Screenshots -If applicable, add screenshots to help explain your problem. +## Actual behavior +What actually happened. -## ๐Ÿ–ฅ๏ธ Environment -- **OS**: [e.g. macOS, Ubuntu, Windows] -- **Version**: [e.g. 22.04] -- **Browser/Tool**: [e.g. Chrome, VS Code] +## Environment +- OS: +- Browser (if applicable): +- Version/commit: -## ๐Ÿ“Ž Additional Context -Add any other context about the problem here. +## Additional context +Logs, screenshots, or other relevant details. diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index cc22e44..b852036 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,11 +1,5 @@ blank_issues_enabled: false contact_links: - - name: ๐Ÿ’ฌ GitHub Discussions - url: https://github.com/orgs/professoroakz/discussions - about: Ask questions and discuss ideas with the community - - name: ๐Ÿ“š Organization Profile - url: https://github.com/professoroakz - about: Learn more about professoroakz projects - - name: ๐Ÿ”’ Security Policy + - name: Security vulnerability report url: https://github.com/professoroakz/.github/security/policy - about: Report security vulnerabilities privately + about: Please report security vulnerabilities privately (see SECURITY.md). diff --git a/.github/ISSUE_TEMPLATE/documentation.md b/.github/ISSUE_TEMPLATE/documentation.md deleted file mode 100644 index 7344505..0000000 --- a/.github/ISSUE_TEMPLATE/documentation.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -name: Documentation -about: Suggest improvements to documentation -title: '[DOCS] ' -labels: documentation -assignees: '' - ---- - -## ๐Ÿ“š Which Document Needs Improvement? -Reference the file or section that needs updates. - -## โ“ What's Unclear or Missing? -Describe what information is unclear or missing. - -## โœ๏ธ Suggested Improvements -How would you improve it? Provide specific suggestions if possible. - -## ๐Ÿ“Ž Additional Context -Add any other context about the documentation improvement here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 882a30e..0fa3cbf 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -1,24 +1,19 @@ --- -name: Feature Request -about: Suggest an idea for this project -title: '[FEATURE] ' +name: Feature request +about: Suggest an idea or improvement +title: "[Feature] " labels: enhancement assignees: '' - --- -## ๐Ÿ’ก Feature Description -A clear and concise description of the feature you'd like to see. - -## ๐Ÿค” Problem Statement -Is your feature request related to a problem? Please describe. -Ex. I'm always frustrated when [...] +## Problem +What problem are you trying to solve? -## ๐Ÿ’ญ Proposed Solution -A clear and concise description of what you want to happen. +## Proposal +What do you want to happen? -## ๐Ÿ”„ Alternatives Considered -A clear and concise description of any alternative solutions or features you've considered. +## Alternatives +What other approaches have you considered? -## ๐Ÿ“Ž Additional Context -Add any other context, mockups, or screenshots about the feature request here. +## Additional context +Links, mockups, examples, etc. diff --git a/.github/SECURITY.md b/.github/SECURITY.md index 9cce71a..41b93a4 100644 --- a/.github/SECURITY.md +++ b/.github/SECURITY.md @@ -1,71 +1,6 @@ # Security Policy -## ๐Ÿ”’ Reporting a Vulnerability +Please do **not** open public issues for vulnerabilities. -We take security seriously. If you discover a security vulnerability in any project under the professoroakz organization, please report it responsibly. - -### How to Report - -1. **DO NOT** open a public issue for security vulnerabilities -2. Use GitHub's private security advisory feature: - - Go to the repository's Security tab - - Click "Report a vulnerability" - - Fill out the advisory form with details -3. Alternatively, email: professoroakz@users.noreply.github.com - -### What to Include - -- **Description**: Clear description of the vulnerability -- **Impact**: What could an attacker do with this vulnerability? -- **Reproduction Steps**: Detailed steps to reproduce the issue -- **Affected Versions**: Which versions are affected? -- **Suggested Fix**: If you have ideas for a fix (optional) - -## ๐Ÿ“… Response Timeline - -We aim to respond to security reports promptly: - -- **Initial Response**: Within 48 hours -- **Status Update**: Within 7 days -- **Fix Timeline**: Depends on severity - - ๐Ÿ”ด **Critical**: 24-48 hours - - ๐ŸŸ  **High**: 7 days - - ๐ŸŸก **Medium**: 30 days - - ๐ŸŸข **Low**: 90 days - -## โœ… Supported Versions - -Security updates are provided for the latest stable version of each project. Older versions may receive critical security patches on a case-by-case basis. - -## ๐Ÿ›ก๏ธ Security Best Practices - -When contributing to or using projects in this organization: - -- โœ… Never commit sensitive information (API keys, passwords, tokens, credentials) -- โœ… Use environment variables or `.env` files for secrets (ensure they're in `.gitignore`) -- โœ… Review code and scripts before execution -- โœ… Keep dependencies updated -- โœ… Use the latest stable version -- โœ… Enable two-factor authentication on your GitHub account -- โœ… Use SSH keys or personal access tokens for authentication - -## ๐Ÿ“ข Disclosure Policy - -- Security issues are addressed privately -- Fixes are developed and tested before public disclosure -- Once a fix is released, a security advisory will be published -- Credit will be given to security researchers (if desired) - -## ๐Ÿ™ Thank You - -Thank you for helping keep the professoroakz projects and community safe and secure! - -## ๐Ÿ“ž Contact - -For security concerns: -- Create a private security advisory on GitHub -- Email: professoroakz@users.noreply.github.com - ---- - -*This security policy applies to all repositories under the professoroakz organization.* +- Use GitHub "Report a vulnerability" (preferred, if enabled) +- Or email: **security@professoroakz.org** diff --git a/.github/dependabot.yml b/.github/dependabot.yml index f665959..1705d1b 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,41 +1,7 @@ version: 2 updates: - # GitHub Actions - package-ecosystem: "github-actions" - directory: "/" - schedule: - interval: "weekly" - open-pull-requests-limit: 5 - labels: - - "dependencies" - - "github-actions" - commit-message: - prefix: "chore(deps)" - - # npm dependencies - - package-ecosystem: "npm" directory: "/" schedule: interval: "weekly" open-pull-requests-limit: 10 - labels: - - "dependencies" - - "npm" - commit-message: - prefix: "chore(deps)" - ignore: - # Ignore major version updates for now - - dependency-name: "*" - update-types: ["version-update:semver-major"] - - # Docker - - package-ecosystem: "docker" - directory: "/" - schedule: - interval: "weekly" - open-pull-requests-limit: 5 - labels: - - "dependencies" - - "docker" - commit-message: - prefix: "chore(deps)" diff --git a/.github/mlc_config.json b/.github/mlc_config.json new file mode 100644 index 0000000..d2de52f --- /dev/null +++ b/.github/mlc_config.json @@ -0,0 +1,10 @@ +{ + "ignorePatterns": [ + { "pattern": "^http://localhost" }, + { "pattern": "^https://localhost" }, + { "pattern": "^(mailto:)" } + ], + "retryOn429": true, + "retryCount": 2, + "aliveStatusCodes": [200, 201, 202, 203, 204, 206, 301, 302, 303, 307, 308] +} diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index dab1d33..aadb83f 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,36 +1,18 @@ -## Description - - -## ๐ŸŽฏ Type of Change - - -- [ ] ๐Ÿ“ Documentation update -- [ ] โœจ New feature -- [ ] ๐Ÿ› Bug fix -- [ ] ๐Ÿ”ง Configuration change -- [ ] ๐ŸŽจ Style/formatting -- [ ] โ™ป๏ธ Refactoring -- [ ] ๐Ÿ—‘๏ธ Removal -- [ ] ๐Ÿ”’ Security fix - -## โœ… Checklist - - -- [ ] I have tested my changes -- [ ] I have updated documentation as needed -- [ ] My code follows the project's style guidelines -- [ ] I have added comments where necessary -- [ ] No sensitive information is included in my changes -- [ ] I have reviewed my own code - -## ๐Ÿ”— Related Issues - - -Fixes # -Related to # - -## ๐Ÿ“ธ Screenshots (if applicable) - - -## ๐Ÿ“Ž Additional Context - +## Summary +Describe what this PR changes and why. + +## Changes +- [ ] Bug fix +- [ ] Feature +- [ ] Docs +- [ ] Chore / maintenance + +## Validation +How did you test/verify this change? +- [ ] CI passes +- [ ] Manual validation (describe) + +## Checklist +- [ ] No secrets / credentials committed +- [ ] Docs updated (if needed) +- [ ] Related issue linked (if applicable) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 338e34c..b4ffab3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,118 +1,49 @@ name: CI on: - push: - branches: [ main ] pull_request: - branches: [ main ] - workflow_dispatch: + push: + branches: [ "main" ] jobs: - validate: - name: Validate Files + repo_hygiene: runs-on: ubuntu-latest - steps: - - name: ๐Ÿ“ฅ Checkout repository + - name: Checkout uses: actions/checkout@v4 - - name: ๐Ÿ“ Validate Markdown files - uses: DavidAnson/markdownlint-cli2-action@v16 - with: - globs: | - **/*.md - !node_modules/** - !**/backup_*.gsbak - - - name: โœ… Validate YAML files + - name: Require core files + shell: bash run: | - # Install yamllint - pip install yamllint - - # Create yamllint config - cat > .yamllint.yml << EOF - extends: default - rules: - line-length: - max: 120 - level: warning - comments: - min-spaces-from-content: 1 - EOF - - # Validate YAML files - find . -name '*.yml' -o -name '*.yaml' | grep -v node_modules | xargs yamllint -c .yamllint.yml - - - name: ๐Ÿ” Check for broken links - uses: gaurav-nelson/github-action-markdown-link-check@v1 - with: - use-quiet-mode: 'yes' - config-file: '.github/mlc_config.json' - continue-on-error: true + set -euo pipefail - - name: ๐Ÿ“Š Verify file structure - run: | - echo "Checking required community health files..." - required_files=( "README.md" "CODE_OF_CONDUCT.md" "CONTRIBUTING.md" + "SECURITY.md" "LICENSE" ".github/ISSUE_TEMPLATE/bug_report.md" ".github/ISSUE_TEMPLATE/feature_request.md" ".github/pull_request_template.md" ) - + missing=0 - for file in "${required_files[@]}"; do - if [ ! -f "$file" ]; then - echo "โŒ Missing: $file" + for f in "${required_files[@]}"; do + if [[ ! -f "$f" ]]; then + echo "Missing required file: $f" missing=1 - else - echo "โœ… Found: $file" fi done - - if [ $missing -eq 1 ]; then - echo "Some required files are missing!" + + if [[ "$missing" -ne 0 ]]; then + echo "Required files missing." exit 1 fi - - echo "All required files are present!" - test-npm: - name: Test NPM Package - runs-on: ubuntu-latest - if: hashFiles('package.json') != '' - - steps: - - name: ๐Ÿ“ฅ Checkout repository - uses: actions/checkout@v4 - - - name: ๐Ÿ”ง Setup Node.js - uses: actions/setup-node@v4 + - name: Markdown link check + uses: gaurav-nelson/github-action-markdown-link-check@v1 with: - node-version: '20' - cache: 'npm' - - - name: ๐Ÿ“ฆ Install dependencies - run: npm ci - - - name: ๐Ÿงช Run tests (if available) - run: npm test --if-present - - test-docker: - name: Test Docker Build - runs-on: ubuntu-latest - if: hashFiles('Dockerfile') != '' - - steps: - - name: ๐Ÿ“ฅ Checkout repository - uses: actions/checkout@v4 - - - name: ๐Ÿณ Build Docker image - run: docker build -t professoroakz/github-config:test . - - - name: โœ… Verify Docker image - run: docker run --rm professoroakz/github-config:test node --version + use-quiet-mode: "yes" + use-verbose-mode: "no" + config-file: ".github/mlc_config.json" diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml deleted file mode 100644 index abedc66..0000000 --- a/.github/workflows/stale.yml +++ /dev/null @@ -1,77 +0,0 @@ -name: Stale Issues and PRs - -on: - schedule: - # Run daily at 00:00 UTC - - cron: '0 0 * * *' - workflow_dispatch: - -permissions: - issues: write - pull-requests: write - -jobs: - stale: - runs-on: ubuntu-latest - - steps: - - name: ๐Ÿท๏ธ Mark stale issues and PRs - uses: actions/stale@v9 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - - # Stale issue settings - stale-issue-message: | - ๐Ÿ‘‹ This issue has been automatically marked as stale because it has not had recent activity. - - It will be closed in 7 days if no further activity occurs. - - If this issue is still relevant, please: - - Add a comment to keep it open - - Update the issue with new information - - Add the `keep-open` label - - Thank you for your contributions! ๐Ÿ™ - - close-issue-message: | - ๐Ÿ”’ This issue has been automatically closed due to inactivity. - - If you believe this issue is still relevant, please feel free to reopen it or create a new issue with updated information. - - Thank you! ๐Ÿ™ - - days-before-stale: 60 - days-before-close: 7 - stale-issue-label: 'stale' - exempt-issue-labels: 'keep-open,pinned,security,bug' - - # Stale PR settings - stale-pr-message: | - ๐Ÿ‘‹ This pull request has been automatically marked as stale because it has not had recent activity. - - It will be closed in 14 days if no further activity occurs. - - If this PR is still relevant, please: - - Update the PR with requested changes - - Rebase on the latest main branch - - Add a comment with status update - - Add the `keep-open` label - - Thank you for your contribution! ๐Ÿ™ - - close-pr-message: | - ๐Ÿ”’ This pull request has been automatically closed due to inactivity. - - If you'd like to continue work on this PR, please feel free to reopen it or create a new PR. - - Thank you! ๐Ÿ™ - - days-before-pr-stale: 90 - days-before-pr-close: 14 - stale-pr-label: 'stale' - exempt-pr-labels: 'keep-open,pinned,security,work-in-progress' - - # Additional settings - operations-per-run: 100 - remove-stale-when-updated: true - ascending: true diff --git a/.gitignore b/.gitignore index 19e599a..bb8aed7 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,25 @@ Thumbs.db *.swp *.swo *~ +.vscode/ +.idea/ +*.sublime-* + +# Build outputs +dist/ +build/ +*.log + +# Test coverage +coverage/ +.nyc_output/ + +# Environment files +.env +.env.local + +# Temporary files +tmp/ +temp/ +*.tmp + diff --git a/.markdownlint.json b/.markdownlint.json new file mode 100644 index 0000000..6eaf3d2 --- /dev/null +++ b/.markdownlint.json @@ -0,0 +1,14 @@ +{ + "default": true, + "MD013": false, + "MD033": false, + "MD041": false, + "MD024": { + "siblings_only": true + }, + "MD025": { + "front_matter_title": "" + }, + "no-hard-tabs": false, + "whitespace": false +} diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..10c3ea0 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,44 @@ +# Changelog + +All notable changes to this repository will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +### Added +- Initial community health files setup +- Issue templates (bug report, feature request, documentation) +- Pull request template +- GitHub Actions workflows (CI, stale) +- CODEOWNERS file +- Security policy +- Dependabot configuration +- Code of Conduct (Contributor Covenant v2.1) +- Contributing guidelines +- Support documentation +- MIT License +- Organization profile README +- Build system support (Makefile, scripts) +- Testing infrastructure +- Configuration files (.editorconfig, .markdownlint.json) +- Comprehensive documentation + +## [1.3.37] - 2026-02-11 + +### Changed +- Updated repository to serve as organization-wide community health repository +- Enhanced package.json for NPM distribution +- Improved Dockerfile with multi-stage builds + +### Fixed +- Repository structure and organization +- Documentation completeness + +## [1.0.0] - Initial Release + +### Added +- Basic repository structure +- Initial configuration files +- Profile and settings directories diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..0b24299 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,24 @@ +# Code of Conduct + +This project follows the **Contributor Covenant Code of Conduct (v2.1)**. + +## Our pledge +We pledge to make participation in our community a harassment-free experience for everyone. + +## Our standards +Examples of behavior that contributes to a positive environment include: +- Being respectful and constructive +- Showing empathy and patience +- Giving and accepting helpful feedback + +Examples of unacceptable behavior include: +- Harassment, discrimination, or hateful conduct +- Trolling, insulting/derogatory comments, or personal attacks +- Publishing others' private information without explicit permission + +## Enforcement +Report concerns to: **security@professoroakz.org** +(If that address is not monitored yet, replace with your preferred contact.) + +## Attribution +This Code of Conduct is adapted from the Contributor Covenant, version 2.1. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..c6d9a4f --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,24 @@ +# Contributing + +Thanks for contributing. + +## Ways to contribute +- Report bugs using the issue templates +- Propose features +- Improve documentation +- Submit pull requests + +## Workflow +1. Create an issue first for non-trivial changes. +2. Fork the repo (or create a branch if you have access). +3. Use a clear branch name: `feat/...`, `fix/...`, `docs/...`, `chore/...` +4. Submit a PR with a concise description of: + - What changed + - Why it changed + - How it was tested / validated + +## PR checklist +- [ ] No secrets committed +- [ ] Templates filled out +- [ ] Documentation updated (if applicable) +- [ ] CI checks pass diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..4aa6549 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 professoroakz + +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/Makefile b/Makefile new file mode 100644 index 0000000..00e2371 --- /dev/null +++ b/Makefile @@ -0,0 +1,83 @@ +# Makefile for professoroakz/.github repository +# Provides build, test, and installation targets + +.PHONY: help install test clean build run docker-build docker-run + +# Default target +help: + @echo "Available targets:" + @echo " make install - Install dependencies (npm)" + @echo " make test - Run tests" + @echo " make build - Build the project" + @echo " make clean - Clean build artifacts" + @echo " make run - Run the application" + @echo " make docker-build - Build Docker image" + @echo " make docker-run - Run Docker container" + @echo " make lint - Lint source files" + @echo " make format - Format source files" + +# Install dependencies +install: + @echo "Installing dependencies..." + npm install + +# Run tests +test: + @echo "Running tests..." + npm test + +# Build project +build: + @echo "Building project..." + @if [ -f package.json ]; then npm run build --if-present; fi + +# Clean build artifacts +clean: + @echo "Cleaning build artifacts..." + rm -rf node_modules/ + rm -rf dist/ + rm -rf build/ + rm -f *.log + +# Run the application +run: + @echo "Running application..." + node index.js + +# Build Docker image +docker-build: + @echo "Building Docker image..." + docker build -t professoroakz/github-config:latest . + +# Run Docker container +docker-run: docker-build + @echo "Running Docker container..." + docker run -it --rm professoroakz/github-config:latest + +# Lint files +lint: + @echo "Linting files..." + @if command -v markdownlint >/dev/null 2>&1; then \ + markdownlint '**/*.md' --ignore node_modules; \ + else \ + echo "markdownlint not installed, skipping..."; \ + fi + +# Format files +format: + @echo "Formatting files..." + @if command -v prettier >/dev/null 2>&1; then \ + prettier --write '**/*.{json,md,yml,yaml}' --ignore-path .gitignore; \ + else \ + echo "prettier not installed, skipping..."; \ + fi + +# Version bump +version-patch: + npm version patch + +version-minor: + npm version minor + +version-major: + npm version major diff --git a/README.md b/README.md index 5266f03..4096082 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,17 @@ # .github -All my cool GitHub cool stuff + fixes and reaches everything I own and work on. +Organization-wide GitHub configuration and community health files for **professoroakz**. + +## What this repo provides +- Issue templates +- Pull request template +- CODEOWNERS +- Security policy +- Dependabot configuration +- CI checks for repository hygiene + +## How it works +GitHub uses certain files from the `.github` repository as **defaults** for other repositories in the org. ## NPM Package @@ -34,10 +45,12 @@ const profilePath = github.getProfilePath('README.md'); const settingsPath = github.getSettingsPath('.actions'); ``` +## Security +If you discover a vulnerability, please follow the instructions in `SECURITY.md`. + ## License -MIT -all my cool github cool stuff + fixes and reaches everything I own and work on. +MIT - See [LICENSE](LICENSE) file for details. ## Docker Package diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..1317214 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,11 @@ +# Security Policy + +## Reporting a vulnerability +Please **do not** open a public issue for security vulnerabilities. + +Preferred options: +1. Use GitHub "Report a vulnerability" / Private Security Advisory (if enabled) +2. Email: **security@professoroakz.org** + +## Scope +This policy covers security issues in repositories under the professoroakz organization, unless a repo specifies a different policy. diff --git a/SUPPORT.md b/SUPPORT.md new file mode 100644 index 0000000..334aa91 --- /dev/null +++ b/SUPPORT.md @@ -0,0 +1,38 @@ +# Support + +## Getting Help + +If you need help with projects under the professoroakz organization: + +### ๐Ÿ“š Documentation +- Check the repository's README for project-specific documentation +- Review the [organization profile](https://github.com/professoroakz) + +### ๐Ÿ’ฌ Discussions +- Use [GitHub Discussions](https://github.com/orgs/professoroakz/discussions) for questions and community support +- Search existing discussions before creating a new one + +### ๐Ÿ› Bug Reports +- Use the bug report template in the repository's Issues section +- Provide detailed reproduction steps and environment information + +### ๐Ÿ’ก Feature Requests +- Use the feature request template in the repository's Issues section +- Explain the use case and expected behavior + +### ๐Ÿ”’ Security Issues +- **Do not** create public issues for security vulnerabilities +- Follow the instructions in [SECURITY.md](SECURITY.md) + +## Contact +- Email: security@professoroakz.org +- GitHub: [@professoroakz](https://github.com/professoroakz) + +## Response Times +We aim to respond to: +- Security issues: Within 48 hours +- Bug reports: Within 1 week +- Feature requests: Within 2 weeks +- General questions: Best effort basis + +*Note: Response times are not guaranteed as this is an open-source project maintained by volunteers.* diff --git a/bin/github-config b/bin/github-config new file mode 100755 index 0000000..10b343a --- /dev/null +++ b/bin/github-config @@ -0,0 +1,140 @@ +#!/usr/bin/env bash +# GitHub Config CLI - Main entry point +# Usage: github-config [options] + +set -euo pipefail + +VERSION="1.3.37" +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +ROOT_DIR="$(dirname "$SCRIPT_DIR")" + +# Colors for output +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +NC='\033[0m' # No Color + +# Helper functions +log_info() { + echo -e "${GREEN}[INFO]${NC} $*" +} + +log_warn() { + echo -e "${YELLOW}[WARN]${NC} $*" +} + +log_error() { + echo -e "${RED}[ERROR]${NC} $*" +} + +show_version() { + echo "github-config version $VERSION" +} + +show_help() { + cat << EOF +GitHub Config CLI v$VERSION + +Usage: github-config [options] + +Commands: + version Show version information + help Show this help message + validate Validate repository structure + install Install to system + info Show repository information + +Options: + -h, --help Show help + -v, --version Show version + +Examples: + github-config validate + github-config info + +EOF +} + +validate_repo() { + log_info "Validating repository structure..." + + required_files=( + "README.md" + "CODE_OF_CONDUCT.md" + "CONTRIBUTING.md" + "SECURITY.md" + "LICENSE" + ".github/ISSUE_TEMPLATE/bug_report.md" + ".github/ISSUE_TEMPLATE/feature_request.md" + ".github/pull_request_template.md" + ) + + missing=0 + for file in "${required_files[@]}"; do + if [[ -f "$ROOT_DIR/$file" ]]; then + log_info "โœ“ $file" + else + log_error "โœ— $file (missing)" + missing=1 + fi + done + + if [[ $missing -eq 0 ]]; then + log_info "All required files present!" + return 0 + else + log_error "Some required files are missing" + return 1 + fi +} + +show_info() { + log_info "Repository Information:" + echo " Location: $ROOT_DIR" + echo " Version: $VERSION" + + if [[ -f "$ROOT_DIR/package.json" ]]; then + echo " NPM Package: @professoroakz/github" + fi + + if [[ -f "$ROOT_DIR/Dockerfile" ]]; then + echo " Docker Image: professoroakz/github-config" + fi +} + +install_system() { + log_info "Installing github-config to system..." + + # Create symlink in /usr/local/bin + if [[ -w /usr/local/bin ]]; then + ln -sf "$SCRIPT_DIR/github-config" /usr/local/bin/github-config + log_info "Installed to /usr/local/bin/github-config" + else + log_error "Cannot write to /usr/local/bin. Try with sudo." + return 1 + fi +} + +# Main command dispatcher +case "${1:-help}" in + version|-v|--version) + show_version + ;; + help|-h|--help) + show_help + ;; + validate) + validate_repo + ;; + info) + show_info + ;; + install) + install_system + ;; + *) + log_error "Unknown command: $1" + show_help + exit 1 + ;; +esac diff --git a/docs/GUIDELINES.md b/docs/GUIDELINES.md new file mode 100644 index 0000000..f2e1a74 --- /dev/null +++ b/docs/GUIDELINES.md @@ -0,0 +1,228 @@ +# Guidelines for professoroakz Repositories + +General guidelines that apply to all repositories under the professoroakz organization. + +## Code of Conduct + +All repositories follow the Contributor Covenant Code of Conduct. See [CODE_OF_CONDUCT.md](../CODE_OF_CONDUCT.md). + +Key principles: +- Be respectful and inclusive +- Welcome newcomers +- Accept constructive criticism +- Focus on what's best for the community + +## Contributing + +See [CONTRIBUTING.md](../CONTRIBUTING.md) for detailed contribution guidelines. + +## Security + +Report security vulnerabilities privately. See [SECURITY.md](../SECURITY.md). + +## Git Workflow + +### Branch Naming + +Use descriptive branch names with prefixes: + +- `feat/` - New features +- `fix/` - Bug fixes +- `docs/` - Documentation changes +- `chore/` - Maintenance tasks +- `refactor/` - Code refactoring +- `test/` - Test additions or changes + +Examples: +- `feat/add-user-authentication` +- `fix/resolve-memory-leak` +- `docs/update-installation-guide` + +### Commit Messages + +Follow conventional commits format: + +``` +(): + + + +