diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
new file mode 100644
index 00000000..ce88ac9f
--- /dev/null
+++ b/.github/CODEOWNERS
@@ -0,0 +1 @@
+* @microsoft/ai-red-team-dev
diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
new file mode 100644
index 00000000..1c7d190a
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -0,0 +1,88 @@
+name: Bug Report
+description: Report a bug or unexpected behavior
+labels: ["bug"]
+body:
+ - type: textarea
+ id: description
+ attributes:
+ label: Description
+ description: A clear description of the bug.
+ validations:
+ required: true
+
+ - type: textarea
+ id: repro
+ attributes:
+ label: Steps to reproduce
+ description: Minimal steps to reproduce the behavior.
+ placeholder: |
+ 1. Install RAMPART v...
+ 2. Create a test file with...
+ 3. Run `pytest ...`
+ 4. Observe...
+ validations:
+ required: true
+
+ - type: textarea
+ id: expected
+ attributes:
+ label: Expected behavior
+ description: What you expected to happen.
+ validations:
+ required: true
+
+ - type: textarea
+ id: actual
+ attributes:
+ label: Actual behavior
+ description: What actually happened.
+ validations:
+ required: true
+
+ - type: dropdown
+ id: python-version
+ attributes:
+ label: Python version
+ options:
+ - "3.11"
+ - "3.12"
+ - "3.13"
+ - "Other"
+ validations:
+ required: true
+
+ - type: dropdown
+ id: os
+ attributes:
+ label: Operating system
+ options:
+ - Linux
+ - macOS
+ - Windows
+ validations:
+ required: true
+
+ - type: input
+ id: rampart-version
+ attributes:
+ label: RAMPART version
+ placeholder: "0.1.0"
+ validations:
+ required: true
+
+ - type: textarea
+ id: code
+ attributes:
+ label: Code to reproduce
+ description: Minimal code snippet that reproduces the issue.
+ render: python
+ validations:
+ required: false
+
+ - type: textarea
+ id: context
+ attributes:
+ label: Additional context
+ description: Logs, screenshots, stack traces, or any other relevant information.
+ validations:
+ required: false
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
new file mode 100644
index 00000000..5eede908
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1,5 @@
+blank_issues_enabled: false
+contact_links:
+ - name: Security vulnerabilities
+ url: https://github.com/microsoft/RAMPART/blob/main/.github/SECURITY.md
+ about: Do not report security vulnerabilities through public GitHub issues. See SECURITY.md for reporting guidance.
diff --git a/.github/ISSUE_TEMPLATE/doc_improvement.yml b/.github/ISSUE_TEMPLATE/doc_improvement.yml
new file mode 100644
index 00000000..612f8445
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/doc_improvement.yml
@@ -0,0 +1,19 @@
+name: Documentation Improvement
+description: Report confusing or missing documentation
+labels: ["documentation"]
+body:
+ - type: textarea
+ id: issue
+ attributes:
+ label: What is confusing or missing?
+ description: Tell us what's unclear, incorrect, or absent in the docs.
+ validations:
+ required: true
+
+ - type: textarea
+ id: suggestion
+ attributes:
+ label: Suggested fix
+ description: How could the documentation be improved?
+ validations:
+ required: false
diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml
new file mode 100644
index 00000000..3c670529
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature_request.yml
@@ -0,0 +1,43 @@
+name: Feature Request
+description: Suggest a new feature or improvement
+labels: ["enhancement"]
+body:
+ - type: textarea
+ id: summary
+ attributes:
+ label: Summary
+ description: Brief description of the feature.
+ validations:
+ required: true
+
+ - type: textarea
+ id: motivation
+ attributes:
+ label: Motivation
+ description: Why is this feature needed? What problem does it solve?
+ validations:
+ required: true
+
+ - type: textarea
+ id: solution
+ attributes:
+ label: Proposed solution
+ description: Describe the desired outcome.
+ validations:
+ required: true
+
+ - type: textarea
+ id: alternatives
+ attributes:
+ label: Alternatives considered
+ description: Any alternative approaches you've thought about.
+ validations:
+ required: false
+
+ - type: textarea
+ id: context
+ attributes:
+ label: Additional context
+ description: Any other relevant information, references, or examples.
+ validations:
+ required: false
diff --git a/.github/ISSUE_TEMPLATE/other.yml b/.github/ISSUE_TEMPLATE/other.yml
new file mode 100644
index 00000000..9be0e455
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/other.yml
@@ -0,0 +1,11 @@
+name: Other
+description: General issue that doesn't fit other categories
+labels: ["triage"]
+body:
+ - type: textarea
+ id: description
+ attributes:
+ label: Description
+ description: Describe your issue, question, or suggestion.
+ validations:
+ required: true
diff --git a/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md b/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md
new file mode 100644
index 00000000..2e2cefc3
--- /dev/null
+++ b/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md
@@ -0,0 +1,20 @@
+
+
+
+
+
+## Description
+
+
+
+
+
+
+## Breaking changes
+
+
+## Checklist
+
+- [ ] `pre-commit run --all-files` passes
+- [ ] Tests added or updated for changes
+- [ ] Documentation updated
diff --git a/README.md b/README.md
index e1370de5..8dcd8960 100644
--- a/README.md
+++ b/README.md
@@ -2,9 +2,22 @@
+ A pytest-native safety and security testing framework for agentic AI applications. +
+ + + +--- RAMPART provides a structured, developer-friendly way to write and run safety and security tests for AI agents -- covering **adversarial attacks**, **benign failures**, and a broad range of **harm categories**, all with evaluation-driven assertions and seamless integration with [pytest](https://docs.pytest.org/).