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
25 changes: 25 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
root = true

[*]
end_of_line = lf
insert_final_newline = true
charset = utf-8
trim_trailing_whitespace = true
indent_style = space
indent_size = 2

[*.py]
indent_size = 4
max_line_length = 100

[*.{ts,tsx,js,jsx,mjs,cjs}]
indent_size = 2

[*.{json,yml,yaml,toml}]
indent_size = 2

[Makefile]
indent_style = tab

[*.md]
trim_trailing_whitespace = false
38 changes: 38 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
* text=auto eol=lf

# Force LF for all source
*.py text eol=lf
*.ts text eol=lf
*.tsx text eol=lf
*.js text eol=lf
*.jsx text eol=lf
*.mjs text eol=lf
*.cjs text eol=lf
*.json text eol=lf
*.yml text eol=lf
*.yaml text eol=lf
*.toml text eol=lf
*.md text eol=lf
*.sh text eol=lf
*.css text eol=lf
*.scss text eol=lf
*.html text eol=lf
*.sql text eol=lf
Dockerfile* text eol=lf
.editorconfig text eol=lf
.gitignore text eol=lf

# Binary
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.ico binary
*.zip binary
*.gz binary
*.tar binary
*.pdf binary

# Linguist hints (so GitHub stats look right)
docs/** linguist-documentation
*.svg linguist-detectable=false
8 changes: 8 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Default owner for everything
* @madhavcodez

# Domain-specific
/backend/app/voice/ @madhavcodez
/backend/app/services/voice/ @madhavcodez
/backend/alembic/versions/ @madhavcodez
/.github/ @madhavcodez
40 changes: 40 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
name: Bug report
about: Something is broken or behaves unexpectedly
title: "bug: "
labels: [bug, triage]
assignees: []
---

## What happened

<!-- Clear description of the bug. -->

## Steps to reproduce

1.
2.
3.

## Expected vs actual

**Expected:**
**Actual:**

## Environment

- Branch / commit:
- Backend version (or `GET /` JSON):
- Browser (if dashboard):
- Deployment: local / staging / prod

## Logs / screenshots

<!-- Paste relevant output. Redact secrets. -->

## Severity

- [ ] CRITICAL (data loss, security, prod down)
- [ ] HIGH (feature broken, no workaround)
- [ ] MEDIUM (feature broken, workaround exists)
- [ ] LOW (cosmetic / minor)
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Security vulnerability
url: https://github.com/madhavcodez/agentary/security/advisories/new
about: Privately report a security issue via GitHub Security Advisories. Do not file a public issue.
35 changes: 35 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
name: Feature request
about: Propose a new capability or improvement
title: "feat: "
labels: [enhancement, triage]
assignees: []
---

## Problem

<!-- What user/operator pain does this solve? -->

## Proposed solution

<!-- What would the feature look like? Sketch the user flow. -->

## Alternatives considered

<!-- What other paths did you weigh and reject? -->

## Affected surfaces

- [ ] Backend API
- [ ] Dashboard UI
- [ ] Voice / Twilio
- [ ] Workflows
- [ ] Reports / Export
- [ ] Migrations / Schema
- [ ] Provider adapters (Exa, Gemini, etc.)

## Acceptance criteria

- [ ]
- [ ]
- [ ]
50 changes: 50 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
<!-- Thanks for contributing to Agentary! -->

## Summary

<!-- What does this PR change and why? Link issues with "Closes #N". -->

## Type of change

- [ ] Bug fix
- [ ] New feature
- [ ] Refactor (no behavior change)
- [ ] Performance
- [ ] Security
- [ ] Docs / chore
- [ ] Breaking change

## Scope

- [ ] Backend
- [ ] Dashboard
- [ ] Infra / Docker / CI
- [ ] Migrations (`backend/alembic/versions/`)

## How was this tested?

<!-- Describe the test approach. Include commands and observed output. -->

- [ ] `pytest` passes locally
- [ ] `npm test` passes locally
- [ ] `npm run build` succeeds
- [ ] Manual smoke test (describe steps)

## Migration safety (if applicable)

- [ ] Upgrade is idempotent / safe to retry
- [ ] Downgrade is implemented and tested
- [ ] No table renames during normal traffic without backfill plan
- [ ] No `NOT NULL` adds on populated tables without backfill

## Security checklist

- [ ] No secrets, tokens, or PII in code, logs, or fixtures
- [ ] User input validated at the boundary
- [ ] No SQL string concatenation; ORM or parameterized queries only
- [ ] New endpoints have ownership checks (`user_id` scoping)
- [ ] New webhooks verify signatures / HMAC

## Screenshots / output

<!-- Drop UI screenshots, logs, or example responses here. -->
52 changes: 52 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
version: 2
updates:
- package-ecosystem: pip
directory: /backend
schedule:
interval: weekly
day: monday
time: "07:00"
open-pull-requests-limit: 5
labels: [dependencies, python]
groups:
python-prod:
patterns: ["*"]
exclude-patterns: ["pytest*", "ruff", "black", "mypy", "isort"]
python-dev:
patterns: ["pytest*", "ruff", "black", "mypy", "isort"]

- package-ecosystem: npm
directory: /dashboard
schedule:
interval: weekly
day: monday
time: "07:00"
open-pull-requests-limit: 5
labels: [dependencies, javascript]
groups:
next-react:
patterns: ["next", "react", "react-dom", "@types/react*"]
tooling:
patterns: ["typescript", "eslint*", "vitest", "@vitejs/*", "@testing-library/*"]
runtime:
patterns: ["*"]
exclude-patterns: ["next", "react*", "@types/react*", "typescript", "eslint*", "vitest", "@vitejs/*", "@testing-library/*"]

- package-ecosystem: github-actions
directory: /
schedule:
interval: weekly
day: monday
labels: [dependencies, ci]

- package-ecosystem: docker
directory: /backend
schedule:
interval: weekly
labels: [dependencies, docker]

- package-ecosystem: docker
directory: /dashboard
schedule:
interval: weekly
labels: [dependencies, docker]
Loading
Loading