# Contribution Guidelines for Adding Tools to Legendary OSINT: A Complete Workflow

> Learn how to add tools to Legendary OSINT. Follow our contribution guidelines to fork, edit docs, and submit a pull request for maintainer review. Enhance this OSINT resource today.

- Repository: [Henri/Legendary_OSINT](https://github.com/K2SOsint/Legendary_OSINT)
- Tags: how-to-guide
- Published: 2026-08-09

---

**To add tools to Legendary OSINT, fork the repository, edit the appropriate `docs/*.md` file using the `[Name](URL) — Description` format, ensure compliance with emoji and eligibility rules, and submit a pull request for maintainer review.**

Legendary OSINT is a curated knowledge base of open-source intelligence resources maintained by K2SOsint. To maintain consistency and reliability across the collection, contributors must follow the specific contribution guidelines for adding tools to Legendary OSINT documented in the repository’s [`CONTRIBUTING.md`](https://github.com/K2SOsint/Legendary_OSINT/blob/main/CONTRIBUTING.md) file.

## Step-by-Step Contribution Workflow

### Fork and Branch the Repository

Start by forking the repository and creating a new branch for your changes. According to [`CONTRIBUTING.md`](https://github.com/K2SOsint/Legendary_OSINT/blob/main/CONTRIBUTING.md) (lines 35-40), this isolation prevents conflicts and allows maintainers to review your additions independently before merging.

### Select the Correct Documentation File

All tools belong in specific topic files within the `docs/` directory, such as [`docs/aviation.md`](https://github.com/K2SOsint/Legendary_OSINT/blob/main/docs/aviation.md) or [`docs/darkweb-leaks.md`](https://github.com/K2SOsint/Legendary_OSINT/blob/main/docs/darkweb-leaks.md). Do not edit the root [`README.md`](https://github.com/K2SOsint/Legendary_OSINT/blob/main/README.md) file, as explicitly noted in the repository structure section (lines 25-30 of [`CONTRIBUTING.md`](https://github.com/K2SOsint/Legendary_OSINT/blob/main/CONTRIBUTING.md)). Each category maintains its own dedicated markdown file to ensure the knowledge base remains searchable and well-organized.

### Follow Style and Formatting Rules

The project enforces strict formatting standards (lines 10-20 of [`CONTRIBUTING.md`](https://github.com/K2SOsint/Legendary_OSINT/blob/main/CONTRIBUTING.md)):

- Use one-line, neutral descriptions (maximum one sentence).
- Format entries as: `[Name](URL) — Description`.
- Include emojis **only** in top-level `##` headers; never use them in `###` sub-headings or bullet points.
- Write in English, keep wording concise, and avoid marketing language.

### Verify Eligibility and Uniqueness

Before submitting, ensure the resource is not already listed elsewhere and verify that the link works (lines 20-21). Additionally, the guidelines (lines 43-48 of [`CONTRIBUTING.md`](https://github.com/K2SOsint/Legendary_OSINT/blob/main/CONTRIBUTING.md)) prohibit adding paid-only services unless a clear free tier exists. Commercial organizations must contact the maintainer before being added to the repository.

### Run a Spell-Check

Ensure your entry contains no spelling errors to maintain professional quality and readability.

### Submit Your Pull Request

Open a PR with a concise explanation of the new resource. As outlined in the pull-request guidance (lines 37-42), maintainers will review your submission for adherence to these guidelines before merging.

## Correct Formatting Example

Here is a properly formatted snippet demonstrating how to add entries to [`docs/aviation.md`](https://github.com/K2SOsint/Legendary_OSINT/blob/main/docs/aviation.md):

```markdown

## ✈️ Aviation Movements & Flight Tracking

### FlightRadar24

[FlightRadar24](https://www.flightradar24.com) — Real-time flight tracking with a global map and detailed flight information.

### ADS-B Exchange

[ADS-B Exchange](https://www.adsbexchange.com) — Community-driven ADS-B data aggregation providing historical flight data.

```

This example demonstrates the required pattern: an emoji in the `##` header, plain text in the `###` sub-headers, and the `[Name](URL) — Description` format for each tool entry.

## Key Files in the Repository

Understanding the repository structure ensures you modify the correct files:

- **[`CONTRIBUTING.md`](https://github.com/K2SOsint/Legendary_OSINT/blob/main/CONTRIBUTING.md)**: Contains the full contribution guidelines, style rules, and workflow documentation.
- **`docs/*.md`**: Topic-specific files where tools are actually listed (e.g., [`docs/aviation.md`](https://github.com/K2SOsint/Legendary_OSINT/blob/main/docs/aviation.md), [`docs/darkweb-leaks.md`](https://github.com/K2SOsint/Legendary_OSINT/blob/main/docs/darkweb-leaks.md)).
- **[`README.md`](https://github.com/K2SOsint/Legendary_OSINT/blob/main/README.md)**: Index page that is read-only for contributors; do not modify this file when adding tools.
- **[`CODE_OF_CONDUCT.md`](https://github.com/K2SOsint/Legendary_OSINT/blob/main/CODE_OF_CONDUCT.md)**: Defines community conduct expectations for all contributors.

## Summary

- Fork the repository and create a new branch before making changes.
- Add tools to the appropriate `docs/*.md` file; never edit [`README.md`](https://github.com/K2SOsint/Legendary_OSINT/blob/main/README.md).
- Follow the strict `[Name](URL) — Description` format with one-line, neutral descriptions.
- Restrict emojis to `##` headers only; exclude them from `###` headers and bullet points.
- Verify links work and confirm resources are not duplicates before submitting.
- Do not add paid-only services without a free tier, and ensure commercial entities contact maintainers first.
- Submit a pull request with a clear explanation for maintainer review.

## Frequently Asked Questions

### Where do I add new tools in the Legendary OSINT repository?

Add new tools to the appropriate category file within the `docs/` directory, such as [`docs/aviation.md`](https://github.com/K2SOsint/Legendary_OSINT/blob/main/docs/aviation.md) or [`docs/darkweb-leaks.md`](https://github.com/K2SOsint/Legendary_OSINT/blob/main/docs/darkweb-leaks.md). According to the repository structure in [`CONTRIBUTING.md`](https://github.com/K2SOsint/Legendary_OSINT/blob/main/CONTRIBUTING.md) (lines 25-30), the root [`README.md`](https://github.com/K2SOsint/Legendary_OSINT/blob/main/README.md) is reserved as a read-only index and should not be edited by contributors when adding new resources.

### What is the correct format for adding an OSINT tool?

Use the markdown link format `[Name](URL) — Description` with a neutral, one-sentence description. As implemented in K2SOsint/Legendary_OSINT, entries must avoid marketing language, use English only, and place emojis exclusively in top-level `##` headers, never in `###` sub-headings or list items.

### Can I add commercial or paid-only OSINT tools?

No, unless the service offers a clear free tier. The [`CONTRIBUTING.md`](https://github.com/K2SOsint/Legendary_OSINT/blob/main/CONTRIBUTING.md) guidelines (lines 43-48) explicitly prohibit paid-only services. Commercial organizations wishing to be listed must first contact the repository maintainer for approval before any contribution is made.

### Should I edit the README.md file when contributing new tools?

No. Contributors must not edit the [`README.md`](https://github.com/K2SOsint/Legendary_OSINT/blob/main/README.md) file. All tool additions belong in the specific topic files under the `docs/` directory. The [`README.md`](https://github.com/K2SOsint/Legendary_OSINT/blob/main/README.md) serves as a static index page, while the `docs/*.md` files contain the actual curated OSINT resources.