diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 00000000..6b1992e7 --- /dev/null +++ b/.github/workflows/codeql.yml @@ -0,0 +1,99 @@ +# For most projects, this workflow file will not need changing; you simply need +# to commit it to your repository. +# +# You may wish to alter this file to override the set of languages analyzed, +# or to provide custom queries or build logic. +# +# ******** NOTE ******** +# We have attempted to detect the languages in your repository. Please check +# the `language` matrix defined below to confirm you have the correct set of +# supported CodeQL languages. +# +name: "CodeQL Advanced" + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + schedule: + - cron: '22 18 * * 0' + +jobs: + analyze: + name: Analyze (${{ matrix.language }}) + # Runner size impacts CodeQL analysis time. To learn more, please see: + # - https://gh.io/recommended-hardware-resources-for-running-codeql + # - https://gh.io/supported-runners-and-hardware-resources + # - https://gh.io/using-larger-runners (GitHub.com only) + # Consider using larger runners or machines with greater resources for possible analysis time improvements. + runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }} + permissions: + # required for all workflows + security-events: write + + # required to fetch internal or private CodeQL packs + packages: read + + # only required for workflows in private repositories + actions: read + contents: read + + strategy: + fail-fast: false + matrix: + include: + - language: actions + build-mode: none + # CodeQL supports the following values keywords for 'language': 'actions', 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'rust', 'swift' + # Use `c-cpp` to analyze code written in C, C++ or both + # Use 'java-kotlin' to analyze code written in Java, Kotlin or both + # Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both + # To learn more about changing the languages that are analyzed or customizing the build mode for your analysis, + # see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning. + # If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how + # your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages + steps: + - name: Checkout repository + uses: actions/checkout@v7 + + # Add any setup steps before running the `github/codeql-action/init` action. + # This includes steps like installing compilers or runtimes (`actions/setup-node` + # or others). This is typically only required for manual builds. + # - name: Setup runtime (example) + # uses: actions/setup-example@v1 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v4 + with: + languages: ${{ matrix.language }} + build-mode: ${{ matrix.build-mode }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + + # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs + # queries: security-extended,security-and-quality + + # If the analyze step fails for one of the languages you are analyzing with + # "We were unable to automatically build your code", modify the matrix above + # to set the build mode to "manual" for that language. Then modify this step + # to build your code. + # ℹ️ Command-line programs to run using the OS shell. + # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun + - name: Run manual build steps + if: matrix.build-mode == 'manual' + shell: bash + run: | + echo 'If you are using a "manual" build mode for one or more of the' \ + 'languages you are analyzing, replace this with the commands to build' \ + 'your code, for example:' + echo ' make bootstrap' + echo ' make release' + exit 1 + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v4 + with: + category: "/language:${{matrix.language}}" diff --git a/.github/workflows/defender-for-devops.yml b/.github/workflows/defender-for-devops.yml new file mode 100644 index 00000000..793fda4f --- /dev/null +++ b/.github/workflows/defender-for-devops.yml @@ -0,0 +1,47 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. +# +# Microsoft Security DevOps (MSDO) is a command line application which integrates static analysis tools into the development cycle. +# MSDO installs, configures and runs the latest versions of static analysis tools +# (including, but not limited to, SDL/security and compliance tools). +# +# The Microsoft Security DevOps action is currently in beta and runs on the windows-latest queue, +# as well as Windows self hosted agents. ubuntu-latest support coming soon. +# +# For more information about the action , check out https://github.com/microsoft/security-devops-action +# +# Please note this workflow do not integrate your GitHub Org with Microsoft Defender For DevOps. You have to create an integration +# and provide permission before this can report data back to azure. +# Read the official documentation here : https://learn.microsoft.com/en-us/azure/defender-for-cloud/quickstart-onboard-github + +name: "Microsoft Defender For Devops" + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + schedule: + - cron: '28 19 * * 6' + +jobs: + MSDO: + # currently only windows latest is supported + runs-on: windows-latest + + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-dotnet@v4 + with: + dotnet-version: | + 5.0.x + 6.0.x + - name: Run Microsoft Security DevOps + uses: microsoft/security-devops-action@v1.6.0 + id: msdo + - name: Upload results to Security tab + uses: github/codeql-action/upload-sarif@v3 + with: + sarif_file: ${{ steps.msdo.outputs.sarifFile }} diff --git a/.github/workflows/jekyll-gh-pages.yml b/.github/workflows/jekyll-gh-pages.yml new file mode 100644 index 00000000..35b32301 --- /dev/null +++ b/.github/workflows/jekyll-gh-pages.yml @@ -0,0 +1,51 @@ +# Sample workflow for building and deploying a Jekyll site to GitHub Pages +name: Deploy Jekyll with GitHub Pages dependencies preinstalled + +on: + # Runs on pushes targeting the default branch + push: + branches: ["master"] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + # Build job + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Setup Pages + uses: actions/configure-pages@v5 + - name: Build with Jekyll + uses: actions/jekyll-build-pages@v1 + with: + source: ./ + destination: ./_site + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + + # Deployment job + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v5 diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 5b627cfa..42b59ed9 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -1,4 +1,82 @@ ## Code of Conduct -This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct). -For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact -opensource-codeofconduct@amazon.com with any additional questions or comments. + +### Our Commitment + +We are committed to providing a welcoming and inspiring community for all. This project welcomes contributions from everyone, regardless of background, experience level, or identity. We expect everyone participating in this project—contributors, maintainers, community members, and visitors—to help create a safe, respectful, and inclusive environment. + +Our project follows the Amazon Open Source Code of Conduct. Please read the full Amazon Open Source Code of Conduct at https://aws.github.io/code-of-conduct for complete details. The sections below summarize our expectations and explain how to report violations. + +### Scope + +This Code of Conduct applies to all project spaces including issue trackers, pull requests, mailing lists, chat channels, release events, and any other online or in-person events organized by or promoted by the project. It also applies to conduct that occurs outside of project spaces if it substantially affects the safety or well-being of community members. + +### Expected Behavior + +Be friendly, welcoming, and respectful: +- Use welcoming and inclusive language in all communications. +- Be respectful when offering and receiving criticism of others' work. +- Accept responsibility and apologize if you make a mistake; focus on what is best for the community. +- Welcome newcomers and help them get oriented to the project. +- Ask for clarification respectfully in code reviews and discussions. +- Share knowledge and mentor others when possible. +- Respect differing opinions, experiences, and perspectives. + +### Unacceptable Behavior + +Examples of unacceptable behavior include (but are not limited to): +- Harassment, threats, or violent language directed at any individual or group. +- Discriminatory, demeaning, or exclusionary remarks related to race, gender, sexual orientation, religion, disability, age, or other protected characteristics. +- Sustained disruption of project communication, spamming, or coordinated harassment. +- Publishing private information without explicit permission (doxxing). +- Sexual language or imagery in public spaces. +- Personal attacks or insults related to coding ability, background, or identity. +- Deliberate intimidation or exclusion of individuals or groups. + +### Reporting a Violation + +If you are subject to or witness a violation of this Code of Conduct, please report it. We take all reports seriously. + +**To report a violation:** +- **Email the project maintainers** at: conduct@bat-man-project.dev (or reach out to the primary maintainer for contact details) +- **For sensitive reports**, contact the maintainers privately rather than opening a public issue to protect privacy + +**When reporting, please include:** +- Your contact information (optional if you wish to remain anonymous). +- A detailed description of what happened and when. +- Links to relevant material (issue/PR/screenshot) if applicable. +- Names of involved parties, if known. +- Any other context that would be helpful. + +We will treat reports confidentially to the extent practical and will not share the reporter's identity without permission except where required by law or for safety reasons. + +### Enforcement and Response + +- Maintainers will acknowledge receipt of a report within 72 hours when possible. +- The maintainers (or an appointed response team) will evaluate the report and may follow up for additional information. +- We will investigate reports fairly and thoroughly, speaking with all parties involved when appropriate. +- **Possible outcomes** include (but are not limited to): + - A private warning and education + - A temporary restriction from project spaces + - A permanent ban from project spaces + - Removal of offending content + - Referral to platform or legal authorities when appropriate +- **Appeals**: If you disagree with the outcome, contact the maintainers with additional information and we will review the decision within 30 days. + +### Scope of Consequences + +Consequences will be proportional to the severity and frequency of the violation, considered in the context of prior behavior and the impact on the community. Minor first violations may result in a warning, while serious or repeated violations may result in a ban. + +### Attribution + +This project has adopted the Amazon Open Source Code of Conduct. For the canonical text and FAQ, see: +- https://aws.github.io/code-of-conduct +- https://aws.github.io/code-of-conduct-faq + +**Document Information:** +- Effective date: 2026-08-10 +- Last updated: 2026-08-23 +- Version: 2.0 + +--- + +**Questions?** If you have questions about this Code of Conduct, please reach out to the project maintainers. diff --git a/README.md b/README.md new file mode 100644 index 00000000..e29e9da0 --- /dev/null +++ b/README.md @@ -0,0 +1,44 @@ +# bat_man + +A short description of the bat_man project goes here. Replace this with a short paragraph explaining what the project does and its intended audience. + +## Table of Contents +- [About](#about) +- [Installation](#installation) +- [Usage](#usage) +- [Contributing](#contributing) +- [Code of Conduct](#code-of-conduct) +- [License](#license) +- [Contact](#contact) + +## About +Describe the project in a few sentences: what problem it solves, its main features, and who should use it. + +## Installation +Clone the repository and follow the project-specific installation steps. Example: + +```bash +git clone https://github.com/MIahamed05/bat_man.git +cd bat_man +# follow language-specific install steps (e.g., install dependencies) +``` + +## Usage +Provide a short example of how to use the project. Include command-line examples, configuration, or screenshots as appropriate. + +## Contributing +We welcome contributions! Please follow these steps: +1. Fork the repository. +2. Create a feature branch: `git checkout -b my-feature`. +3. Commit your changes and open a pull request. + +Before contributing, please read our Code of Conduct in `CODE_OF_CONDUCT.md` and any CONTRIBUTING.md if present. + +## Code of Conduct +This project follows the Amazon Open Source Code of Conduct. See `CODE_OF_CONDUCT.md` for details. + +## License +Specify the project's license here. If you are not sure, consider adding a LICENSE file (for example, MIT or Apache-2.0) and noting it here. + +## Contact +If you have questions or need to report a sensitive issue, see `CODE_OF_CONDUCT.md` for reporting information.