Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
name: Bug report (Markdown)
about: Create a report to help us improve AutoGraphQL
title: '[BUG] '
labels: 'bug'
assignees: ''
---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Define schema '...'
2. Run query '...'
3. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**GraphQL Schema / Query**
```graphql
# Paste relevant schema or query here
```

**Environment:**
- OS: [e.g. macOS, Ubuntu 22.04]
- Node.js Version: [e.g. 18.20.8]
- Database Dialect: [MongoDB / PostgreSQL]
- AutoGraphQL Version: [e.g. 1.0.0]

**Additional context**
Add any other context about the problem here.
84 changes: 84 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
name: "🐛 Bug Report"
description: File a bug report to help us improve AutoGraphQL
title: "[Bug]: "
labels: ["bug", "triage"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to report an issue with AutoGraphQL!
Please fill out the form below as completely as possible.

- type: textarea
id: description
attributes:
label: Bug Description
description: A clear and concise description of what the bug is.
placeholder: Describe what happened unexpectedly...
validations:
required: true

- type: textarea
id: steps
attributes:
label: Steps to Reproduce
description: Detailed steps to reproduce the issue.
placeholder: |
1. Define schema in `schemas/Course.graphql`: `...`
2. Execute query `query { courses { ... } }`
3. See error ...
validations:
required: true

- type: textarea
id: expected
attributes:
label: Expected Behavior
description: A clear and concise description of what you expected to happen.
validations:
required: true

- type: textarea
id: schema
attributes:
label: GraphQL Schema Definition or Query (if applicable)
description: Provide the relevant SDL or mutation / query payload.
render: graphql

- type: textarea
id: logs
attributes:
label: Server Logs / Stack Trace
description: Paste any terminal logs, stack traces, or Studio console errors.
render: shell

- type: dropdown
id: dialect
attributes:
label: Database Dialect
options:
- MongoDB (Mongoose)
- PostgreSQL (Sequelize)
- Both / In-Memory
- Other / N/A
validations:
required: true

- type: input
id: environment
attributes:
label: Environment Info
description: Node.js version, OS, AutoGraphQL version (e.g. Node 18.20.8 on macOS / Ubuntu 22.04).
placeholder: Node 18.20.8, macOS Sonoma, AutoGraphQL v1.0.0
validations:
required: true

- type: checkboxes
id: checkboxes
attributes:
label: Checklist
options:
- label: I have searched existing issues to ensure this is not a duplicate.
required: true
- label: I have verified that this issue occurs on the latest version of AutoGraphQL.
required: false
11 changes: 11 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
blank_issues_enabled: false
contact_links:
- name: 💬 GitHub Discussions & Questions
url: https://github.com/namanmukund/AutoGraphQL/discussions
about: Ask questions, share architectures, and connect with the AutoGraphQL community.
- name: 📖 AutoGraphQL Documentation
url: https://github.com/namanmukund/AutoGraphQL#readme
about: Read the official setup, directives reference, and Studio guides.
- name: 🛡️ Security Vulnerability Reporting
url: https://github.com/namanmukund/AutoGraphQL/security/advisories
about: Privately report a security vulnerability to project maintainers.
24 changes: 24 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
name: Feature request (Markdown)
about: Suggest an idea or enhancement for AutoGraphQL
title: '[FEATURE] '
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 [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Proposed GraphQL SDL Directives / Syntax**
```graphql
# Example proposed schema syntax
```

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
56 changes: 56 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: "💡 Feature Request"
description: Propose a new feature, schema directive, or enhancement for AutoGraphQL
title: "[Feature]: "
labels: ["enhancement", "discussion"]
body:
- type: markdown
attributes:
value: |
Thanks for helping improve AutoGraphQL! Please describe your proposed feature or enhancement below.

- type: textarea
id: problem
attributes:
label: Problem or Motivation
description: Is your feature request related to a problem or limitation? Please describe it.
placeholder: I am frustrated when trying to... / Our team needs support for...
validations:
required: true

- type: textarea
id: solution
attributes:
label: Proposed Solution / API Design
description: Describe the solution you'd like, including proposed GraphQL SDL directives, Studio features, or CLI commands.
placeholder: |
e.g. Add `@searchable` directive to automatically generate full-text search indexes...
validations:
required: true

- type: textarea
id: alternatives
attributes:
label: Alternatives Considered
description: A description of any alternative solutions or features you've considered.

- type: dropdown
id: component
attributes:
label: Affected Component
options:
- Schema Directives & AST Engine
- AutoGraphQL Studio & Web UI
- Multi-Database Connectors (MongoDB / Postgres)
- DataLoader & Reliability Safeguards
- Birdwatch & Webhooks Outbox
- TypeScript SDK Codegen & Tooling
- Documentation
- Other

- type: checkboxes
id: contribution
attributes:
label: Contribution
options:
- label: I would be interested in submitting a Pull Request to implement this feature.
required: false
66 changes: 66 additions & 0 deletions .github/SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# Security Policy

The AutoGraphQL team takes security issues seriously and appreciates responsible disclosure from the community.

---

## 🛡️ Supported Versions

We actively provide security patches and updates for the following versions of AutoGraphQL:

| Version | Supported | Security Patches |
| ------- | ------------------ | ---------------- |
| 1.x.x | :white_check_mark: | Active |
| < 1.0.0 | :x: | End of Life |

If you are using an older version, we strongly recommend upgrading to the latest release to ensure you receive security and stability enhancements.

---

## 🚨 Reporting a Vulnerability

**Please DO NOT report security vulnerabilities through public GitHub issues.**

If you believe you have discovered a security vulnerability in AutoGraphQL, please report it confidentially using one of the following methods:

1. **GitHub Private Vulnerability Reporting (Preferred):**
- Navigate to the repository's [Security Advisories](https://github.com/namanmukund/AutoGraphQL/security/advisories) tab.
- Click **"Report a vulnerability"** to open a confidential report directly with repository maintainers.

2. **Direct Email Disclosure:**
- Send an email to **namanmukund@gmail.com** with the subject line: `[SECURITY] AutoGraphQL Vulnerability Report`.

### What to Include in Your Report
To help us triage and resolve the issue quickly, please provide:
- A description of the vulnerability and its potential impact.
- Clear, reproducible steps or a proof-of-concept (POC) script or GraphQL query.
- The affected component (e.g. Authentication middleware, AST engine, DataLoader, Webhook HMAC dispatcher, RLS engine).
- Any proposed remediations or patches if available.

### Response Timeline
- **Initial Acknowledgment:** Within **48 hours** of receiving your report.
- **Triage & Assessment:** We will investigate and confirm the impact within **5 business days**.
- **Fix & Public Advisory:** Once resolved, we will publish a security patch release and coordinate the public advisory with proper attribution.

---

## 🔒 Built-in Security Safeguards in AutoGraphQL

AutoGraphQL incorporates defense-in-depth principles across the engine:

1. **Row-Level Security (RLS) & Multi-Tenancy:**
- Declarative `@tenantScoped` and `@ownerScoped` directives enforce automatic query filtering at the database layer, overriding client-supplied tenant claims.
2. **Query Complexity & Depth Safeguards:**
- Built-in validation rules reject malicious nested queries exceeding configurable depth and complexity thresholds before execution.
3. **Cryptographic Webhook Signatures:**
- Transactional outbox webhooks are signed using `HMAC-SHA256` (`x-autographql-signature`) to guarantee payload integrity.
4. **Request-Scoped DataLoader Memoization:**
- DataLoaders are isolated per HTTP request to prevent cross-tenant or cross-user cache leakage.
5. **AST Strict Directives:**
- Directives such as `@readOnly`, `@writeOnly`, `@clamp`, and `@trim` prevent mass-assignment and parameter tampering.

---

## 🏅 Attribution & Recognition

We deeply value researchers and developers who contribute to the security of open source software. If you report a valid security vulnerability, we will gladly credit your contribution in our release notes and security advisories (unless you prefer to remain anonymous).
Loading
Loading