Skip to content

Commit ac73f46

Browse files
authored
Merge pull request #64 from GeiserX/ai/project-health
feat: project health tooling, security hardening, and community files
2 parents e8a22ee + ff92924 commit ac73f46

57 files changed

Lines changed: 4669 additions & 4640 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.cursor/rules/project.mdc

Lines changed: 0 additions & 175 deletions
This file was deleted.

.editorconfig

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
end_of_line = lf
6+
insert_final_newline = true
7+
trim_trailing_whitespace = true
8+
9+
[*.py]
10+
indent_style = space
11+
indent_size = 4
12+
13+
[*.{yml,yaml}]
14+
indent_style = space
15+
indent_size = 2
16+
17+
[*.{json,toml}]
18+
indent_style = space
19+
indent_size = 2
20+
21+
[*.md]
22+
trim_trailing_whitespace = false
23+
24+
[Dockerfile*]
25+
indent_style = space
26+
indent_size = 4
27+
28+
[*.sh]
29+
indent_style = space
30+
indent_size = 2

.github/CODEOWNERS

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Default owners for all files
2+
* @GeiserX
3+
4+
# Core application
5+
/src/ @GeiserX
6+
/alembic/ @GeiserX
7+
8+
# Infrastructure and CI
9+
/.github/ @GeiserX
10+
/Dockerfile @GeiserX
11+
/Dockerfile.viewer @GeiserX
12+
/docker-compose.yml @GeiserX
13+
14+
# Documentation
15+
/docs/ @GeiserX
16+
/*.md @GeiserX

.github/dependabot.yml

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
version: 2
2+
3+
updates:
4+
# Python (pip) dependencies
5+
- package-ecosystem: "pip"
6+
directory: "/"
7+
schedule:
8+
interval: "weekly"
9+
day: "monday"
10+
open-pull-requests-limit: 10
11+
commit-message:
12+
prefix: "deps"
13+
labels:
14+
- "dependencies"
15+
- "automated"
16+
groups:
17+
minor-and-patch:
18+
patterns:
19+
- "*"
20+
update-types:
21+
- "minor"
22+
- "patch"
23+
ignore:
24+
# Ignore major version updates for stability
25+
- dependency-name: "*"
26+
update-types: ["version-update:semver-major"]
27+
28+
# GitHub Actions
29+
- package-ecosystem: "github-actions"
30+
directory: "/"
31+
schedule:
32+
interval: "monthly"
33+
commit-message:
34+
prefix: "ci"
35+
labels:
36+
- "ci"
37+
- "automated"
38+
groups:
39+
github-actions:
40+
patterns:
41+
- "*"
42+
ignore:
43+
- dependency-name: "*"
44+
update-types: ["version-update:semver-major"]
45+
46+
# Docker base images
47+
- package-ecosystem: "docker"
48+
directory: "/"
49+
schedule:
50+
interval: "weekly"
51+
day: "monday"
52+
commit-message:
53+
prefix: "docker"
54+
labels:
55+
- "docker"
56+
- "automated"
57+
58+
# Docker viewer image
59+
- package-ecosystem: "docker"
60+
directory: "/"
61+
directories:
62+
- "/Dockerfile.viewer"
63+
schedule:
64+
interval: "weekly"
65+
day: "monday"
66+
commit-message:
67+
prefix: "docker"
68+
labels:
69+
- "docker"
70+
- "automated"

.github/pull_request_template.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
## Summary
2+
3+
<!-- Describe the change in 1-2 bullets -->
4+
5+
-
6+
7+
## Type of Change
8+
9+
- [ ] Bug fix (non-breaking change that fixes an issue)
10+
- [ ] New feature (non-breaking change that adds functionality)
11+
- [ ] Breaking change (fix or feature that causes existing functionality to change)
12+
- [ ] Documentation update
13+
- [ ] Infrastructure/CI change
14+
15+
## Database Changes
16+
17+
- [ ] Schema changes (Alembic migration required)
18+
- [ ] Data migration script added in `scripts/`
19+
- [ ] No database changes
20+
21+
## Data Consistency Checklist
22+
23+
<!-- Required when modifying database code (see AGENTS.md) -->
24+
25+
- [ ] All `chat_id` values use marked format (via `_get_marked_id()`)
26+
- [ ] All datetime values pass through `_strip_tz()` before DB operations
27+
- [ ] INSERT and UPDATE operations handle the same fields identically
28+
29+
## Testing
30+
31+
- [ ] Tests pass locally (`python -m pytest tests/ -v`)
32+
- [ ] Linting passes (`ruff check .`)
33+
- [ ] Formatting passes (`ruff format --check .`)
34+
- [ ] Manually tested in development environment
35+
36+
## Security Checklist
37+
38+
- [ ] No secrets or credentials committed
39+
- [ ] User input properly validated/sanitized
40+
- [ ] Authentication/authorization properly checked
41+
42+
## Deployment Notes
43+
44+
<!-- Any special considerations for deployment? Docker image rebuild needed? -->
45+
46+
-

.github/workflows/codeql.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: CodeQL
2+
3+
on:
4+
push:
5+
branches: [main, master]
6+
pull_request:
7+
branches: [main, master]
8+
schedule:
9+
# Run weekly on Sundays at 04:00 UTC
10+
- cron: "0 4 * * 0"
11+
12+
jobs:
13+
analyze:
14+
name: Analyze
15+
runs-on: ubuntu-latest
16+
permissions:
17+
security-events: write
18+
contents: read
19+
20+
steps:
21+
- name: Checkout repository
22+
uses: actions/checkout@v4
23+
24+
- name: Initialize CodeQL
25+
uses: github/codeql-action/init@v3
26+
with:
27+
languages: python
28+
29+
- name: Perform CodeQL Analysis
30+
uses: github/codeql-action/analyze@v3
31+
with:
32+
category: "/language:python"

.github/workflows/docker-publish-dev.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ jobs:
5353

5454
# Build and push main backup image
5555
- name: Build and push backup image (dev)
56-
uses: docker/build-push-action@v5
56+
uses: docker/build-push-action@v6
5757
with:
5858
context: .
5959
file: Dockerfile
@@ -64,7 +64,7 @@ jobs:
6464

6565
# Build and push viewer image
6666
- name: Build and push viewer image (dev)
67-
uses: docker/build-push-action@v5
67+
uses: docker/build-push-action@v6
6868
with:
6969
context: .
7070
file: Dockerfile.viewer

0 commit comments

Comments
 (0)