From 54d6236e10502e2af01c37255f0d5d409de365be Mon Sep 17 00:00:00 2001 From: Gil Nobrega <82336674+gilnobrega@users.noreply.github.com> Date: Fri, 16 Jan 2026 10:01:19 +0000 Subject: [PATCH] create Contributing file --- CONTRIBUTING.md | 19 +++++++++++++++++++ README.md | 12 +++--------- 2 files changed, 22 insertions(+), 9 deletions(-) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..4d48bf7 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,19 @@ +# Contributing to Axios Robots + +We love contributions! 🤝 Whether it's reporting a bug, suggesting a feature, or writing code, we'd love to have you involved. + +Please feel free to submit a Pull Request. If you're looking for a place to start, check out the [Roadmap in our README](README.md#-roadmap). + +## Project Structure + +When contributing, please try to follow the existing **Clean Architecture** pattern: + +- **`src/data/`**: Data access layer (Repositories). +- **`src/domain/`**: Core business logic. + - **`interfaces/`**: Abstractions and contracts. + - **`models/`**: Domain entities and value objects. + - **`services/`**: Domain services. + - **`strategies/`**: Strategy implementations (e.g. for Crawl-delay). + - **`usecases/`**: Application-specific business rules. +- **`src/errors/`**: Custom error definitions. +- **`src/interceptor.ts`**: The main Axios interceptor entry point. diff --git a/README.md b/README.md index a87863d..8e44666 100644 --- a/README.md +++ b/README.md @@ -121,21 +121,15 @@ The interceptor throws a `RobotsError` in the following cases: - [x] **Wildcards**: Supports standard path matching including `*` and `$`. - [x] **Crawl-delay**: The interceptor enforces `Crawl-delay` directives (automatic throttling) if configured. -### 🚧 Missing / TODO +### 🚧 Roadmap - [ ] **Sitemap**: Does not currently expose or parse `Sitemap` directives for the consumer. - [ ] **Cache TTL**: Caching is currently indefinite for the lifecycle of the Axios instance. ## Contributing -We love contributions! 🤝 Whether it's reporting a bug, suggesting a feature, or writing code, we'd love to have you involved. +We love contributions! Please read our [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests. -Please feel free to submit a Pull Request. If you're looking for a place to start, check out the [Roadmap](#-missing--todo). - -When contributing, please try to follow the existing **Clean Architecture** pattern: -- **`domain/`**: Core logic (RobotsService, fetching/parsing robots.txt). -- **`errors/`**: Custom error classes and messages. -- **`interceptor.ts`**: Axios integration logic. -- **`types.ts`**: Shared interfaces. +If you're looking for a place to start, check out the [Roadmap](#-roadmap). ## License