Commit 06245219 authored by Hardik Zinzuvadiya's avatar Hardik Zinzuvadiya
Browse files

Redesign README, templates, and update .github workflows

README.md:
- Modern centered header with full badge row
- Stats banner: 17 categories, 150+ tools
- What's new as a comparison table
- Tool category table with per-category counts
- Complete tool listing with star markers for new tools
- Contributing section with enforced title formats for issues and PRs
- Star History chart (Z4nzu/hackingtool)
- Cleaned up Installation, Requirements, Social sections

README_template.md:
- Full redesign matching README.md layout
- {{toc}} and {{tools}} placeholders preserved for generate_readme.py
- Contributing section with title format rules embedded in template

.github/ISSUE_TEMPLATE/bug_report.md:
- Remove irrelevant browser/smartphone sections
- Add tool name, category, error output, environment table

.github/ISSUE_TEMPLATE/feature_request.md:
- Tighten to 4 focused fields, note tool additions use separate template

.github/ISSUE_TEMPLATE/tool_request.md (new):
- Structured template for new tool suggestions
- Required fields: name, URL, category, OS, install/run commands, reason
- Enforced title format: [Tool Request] ToolName - Category

.github/PULL_REQUEST_TEMPLATE.md (new):
- PR checklist for new tool additions and other change types
- Enforced title format: [New Tool] / [Fix] / [Improve]
- All required class fields listed as checklist items

.github/workflows/lint_python.yml:
- actions/checkout v3 -> v4, setup-python v4 -> v5
- python-version: 3.x -> 3.12 (project requires 3.10+)
- ruff target-version: py37 -> py310
- ruff --show-source -> --output-format=full (updated flag name)
- Remove deprecated safety check command

.github/workflows/test_install.yml:
- actions/checkout v3 -> v4, setup-python v4 -> v5
- python-version: 3.x -> 3.12
- Replace fragile matrix of hard-coded menu numbers with
  two simple smoke tests: launch+quit, and navigate+back
parent bbc6b7c9
Loading
Loading
Loading
Loading
+27 −28
Original line number Diff line number Diff line
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
name: Bug Report
about: Report a broken install, crash, or unexpected behavior
title: "[BUG] <tool name>  <short description>"
labels: bug
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.
## Description
<!-- Clear, concise description of what went wrong -->

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
## Affected Tool
- **Category:** <!-- e.g. Web Attack Tools -->
- **Tool name:** <!-- e.g. Nuclei -->

**Expected behavior**
A clear and concise description of what you expected to happen.
## Steps to Reproduce
1.
2.
3.

**Screenshots**
If applicable, add screenshots to help explain your problem.
## Expected Behavior
<!-- What should have happened? -->

**Desktop (please complete the following information):**
 - OS: [e.g. iOS]
 - Browser [e.g. chrome, safari]
 - Version [e.g. 22]
## Error Output
```
<paste the full terminal output / traceback here>
```

**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]
## Environment
| Field | Value |
|---|---|
| OS | <!-- e.g. Kali Linux 2024.1, Ubuntu 22.04, macOS 14 --> |
| Python | <!-- `python3 --version` --> |
| hackingtool | v2.0.0 |

**Additional context**
Add any other context about the problem here.
## Additional Context
<!-- Screenshots, workarounds tried, etc. -->
+12 −13
Original line number Diff line number Diff line
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
name: Feature Request
about: Suggest an improvement to hackingtool itself (not a new tool addition — use the Tool Request template for that)
title: "[FEATURE] <short description>"
labels: enhancement
assignees: ''

---

**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 [...]
## Problem
<!-- What limitation or friction prompted this request? -->

**Describe the solution you'd like**
A clear and concise description of what you want to happen.
## Proposed Solution
<!-- Describe the change or new capability you'd like -->

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
## Alternatives Considered
<!-- Other approaches you thought about -->

**Additional context**
Add any other context or screenshots about the feature request here.
## Additional Context
<!-- Screenshots, mockups, links, etc. -->
+43 −0
Original line number Diff line number Diff line
---
name: Tool Request
about: Suggest a new tool to be added to hackingtool
title: "[Tool Request] <ToolName>  <Category>"
labels: tool-request
assignees: ''
---

<!--
  TITLE FORMAT (required): [Tool Request] ToolName — Category
  Example: [Tool Request] Subfinder — Information Gathering
  Issues without this title format may be closed without review.
-->

## Tool Details

| Field | Value |
|---|---|
| **Tool name** | <!-- e.g. Subfinder --> |
| **GitHub URL** | <!-- e.g. https://github.com/projectdiscovery/subfinder --> |
| **Category** | <!-- Choose one: Anonymously Hiding / Information Gathering / Wordlist Generator / Wireless Attack / SQL Injection / Phishing / Web Attack / Post Exploitation / Forensics / Payload Creation / Exploit Framework / Reverse Engineering / DDOS / RAT / XSS / Steganography / Other --> |
| **Supported OS** | <!-- Linux / macOS / Both --> |
| **Language** | <!-- Python / Go / Rust / C / Bash / etc. --> |
| **Install method** | <!-- pip / go install / apt / git clone / etc. --> |

## Why should it be added?
<!-- What does this tool do that isn't already covered? Min 2 sentences. -->

## Install Command
```bash
# paste the install command(s) here
```

## Run Command
```bash
# paste the run/usage command here
```

## Is the tool actively maintained?
<!-- Yes / No — link to last commit or release date -->

## Additional Notes
<!-- Anything else the maintainer should know -->
+45 −0
Original line number Diff line number Diff line
<!--
  TITLE FORMAT
  ─────────────────────────────────────────────────────────────────
  Adding a new tool  →  [New Tool] ToolName — Category
  Bug fix            →  [Fix] Short description of what was fixed
  Improvement        →  [Improve] Short description
  ─────────────────────────────────────────────────────────────────
  PRs without a properly formatted title may be closed without review.
-->

## Type of Change
- [ ] New tool addition
- [ ] Bug fix
- [ ] Improvement / refactor
- [ ] Documentation update

---

## For New Tool Additions — Required Fields

| Field | Value |
|---|---|
| **Tool name** | |
| **GitHub URL** | |
| **Category** | |
| **Supported OS** | Linux / macOS / Both |
| **Install method** | pip / go install / apt / git clone |

**Why should it be added?**
<!-- What gap does this fill? Min 2 sentences. -->

**Is the tool actively maintained?**
<!-- Link to last release / commit -->

---

## Checklist

- [ ] Title follows the format above
- [ ] New tool class added to the correct `tools/*.py` file
- [ ] `TITLE`, `DESCRIPTION`, `INSTALL_COMMANDS`, `RUN_COMMANDS`, `PROJECT_URL` all set
- [ ] `SUPPORTED_OS` set correctly (`["linux"]` / `["linux", "macos"]`)
- [ ] Tool added to the `TOOLS` list in the collection class at the bottom of the file
- [ ] No new dependencies added to `requirements.txt` without discussion
- [ ] Tested locally — install and run commands work
+8 −11
Original line number Diff line number Diff line
@@ -8,24 +8,21 @@ jobs:
  lint_python:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-python@v4
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
        with:
          python-version: 3.x
          python-version: "3.12"
      - run: pip install --upgrade pip ruff setuptools wheel
      - name: "Ruff: Show stopper (must-fix) issues"
        run: ruff . --select=E9,F63,F7,F82,PLE,YTT --show-source .
        run: ruff check . --select=E9,F63,F7,F82,PLE,YTT --output-format=full
      - name: "Ruff: All issues"
        run: ruff --exit-zero --select=ALL --statistics --target-version=py37 .
        run: ruff check --exit-zero --select=ALL --statistics --target-version=py310 .
      - name: "Ruff: All fixable (ruff --fix) issues"
        run: ruff --exit-zero --select=ALL --ignore=ANN204,COM812,ERA001,RSE102
                  --statistics --target-version=py37 . | grep "\[\*\]"
      - run: pip install black codespell mypy pytest safety
        run: ruff check --exit-zero --select=ALL --ignore=ANN204,COM812,ERA001,RSE102 --statistics --target-version=py310 . | grep "\[\*\]" || true
      - run: pip install black codespell mypy pytest
      - run: black --check . || true
      - run: codespell
      - run: pip install -r requirements.txt || pip install --editable . || pip install . || true
      - run: pip install -r requirements.txt || true
      - run: mkdir --parents --verbose .mypy_cache
      - run: mypy --ignore-missing-imports --install-types --non-interactive . || true
      - run: pytest . || true
      - run: pytest --doctest-modules . || true
      - run: safety check
Loading