Compare commits
1 Commits
feature/ai
...
b51f807f45
| Author | SHA1 | Date | |
|---|---|---|---|
| b51f807f45 |
@@ -2,12 +2,10 @@ name: AI Code Review
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
types: [ labeled, synchronize ]
|
types: [ opened, synchronize, reopened ]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
ai-review:
|
ai-review:
|
||||||
if: >-
|
|
||||||
(github.event.action == 'synchronized' && contains(toJSON(github.event.pull_request.labels), 'ai-review')) || contains(toJSON(gitea.event.changes.added_labels), 'ai-review')
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
env:
|
env:
|
||||||
@@ -19,12 +17,9 @@ jobs:
|
|||||||
VCS__PIPELINE__PULL_NUMBER: ${{ github.event.pull_request.number }}
|
VCS__PIPELINE__PULL_NUMBER: ${{ github.event.pull_request.number }}
|
||||||
VCS__HTTP_CLIENT__API_URL: https://git.forteapps.net/api/v1
|
VCS__HTTP_CLIENT__API_URL: https://git.forteapps.net/api/v1
|
||||||
VCS__HTTP_CLIENT__API_TOKEN: ${{ secrets.AI_REVIEW_TOKEN }}
|
VCS__HTTP_CLIENT__API_TOKEN: ${{ secrets.AI_REVIEW_TOKEN }}
|
||||||
# Review — disable fallback to see real Gitea API errors
|
|
||||||
REVIEW__INLINE_COMMENT_FALLBACK: "false"
|
|
||||||
# LLM configuration
|
# LLM configuration
|
||||||
LLM__PROVIDER: CLAUDE
|
LLM__PROVIDER: CLAUDE
|
||||||
LLM__META__MODEL: claude-sonnet-4-20250514
|
LLM__META__MODEL: claude-sonnet-4-20250514
|
||||||
LLM__META__MAX_TOKENS: "4096"
|
|
||||||
LLM__HTTP_CLIENT__API_URL: https://api.anthropic.com
|
LLM__HTTP_CLIENT__API_URL: https://api.anthropic.com
|
||||||
LLM__HTTP_CLIENT__API_TOKEN: ${{ secrets.ANTHROPIC_API_KEY }}
|
LLM__HTTP_CLIENT__API_TOKEN: ${{ secrets.ANTHROPIC_API_KEY }}
|
||||||
|
|
||||||
@@ -36,11 +31,11 @@ jobs:
|
|||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Run inline review
|
- name: Run inline review
|
||||||
uses: docker://nikitafilonov/ai-review:v0.64.0
|
uses: docker://nikitafilonov/ai-review:latest
|
||||||
with:
|
with:
|
||||||
args: ai-review run-inline
|
args: ai-review run-inline
|
||||||
|
|
||||||
- name: Run summary review
|
- name: Run summary review
|
||||||
uses: docker://nikitafilonov/ai-review:v0.64.0
|
uses: docker://nikitafilonov/ai-review:latest
|
||||||
with:
|
with:
|
||||||
args: ai-review run-summary
|
args: ai-review run-summary
|
||||||
|
|||||||
7
.project-standards.yaml
Normal file
7
.project-standards.yaml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
standards_version: "2025.1"
|
||||||
|
last_configured: "2026-04-04"
|
||||||
|
components:
|
||||||
|
github-pages: "2025.1"
|
||||||
|
github-pages-generator: "mkdocs"
|
||||||
|
github-pages-source: "docs/"
|
||||||
|
github-pages-theme: "material"
|
||||||
@@ -819,8 +819,6 @@ postgresql:
|
|||||||
|
|
||||||
**Email Notifications**: Enabled (`ENABLE_NOTIFY_MAIL: true`). SMTP credentials injected via `gitea-smtp-secret` using `additionalConfigFromEnvs` with `GITEA__mailer__USER` / `GITEA__mailer__PASSWD` environment variables.
|
**Email Notifications**: Enabled (`ENABLE_NOTIFY_MAIL: true`). SMTP credentials injected via `gitea-smtp-secret` using `additionalConfigFromEnvs` with `GITEA__mailer__USER` / `GITEA__mailer__PASSWD` environment variables.
|
||||||
|
|
||||||
**Auto-Watch**: Disabled (`AUTO_WATCH_ON_CHANGES: false`, `AUTO_WATCH_NEW_REPOS: false`). Prevents contributors from being auto-subscribed to repo notifications on push, reducing email noise from CI bots (e.g., ai-review PR comments). Users who were already watching before this change need to manually unwatch or switch to "Only participating".
|
|
||||||
|
|
||||||
**Endpoints**:
|
**Endpoints**:
|
||||||
- Web UI: `https://git.forteapps.net`
|
- Web UI: `https://git.forteapps.net`
|
||||||
- SSH: port 22 (ClusterIP)
|
- SSH: port 22 (ClusterIP)
|
||||||
@@ -942,10 +940,10 @@ ignore:
|
|||||||
| Secret | Purpose |
|
| Secret | Purpose |
|
||||||
|--------|---------|
|
|--------|---------|
|
||||||
| `ANTHROPIC_API_KEY` | Claude API key (from Anthropic console) |
|
| `ANTHROPIC_API_KEY` | Claude API key (from Anthropic console) |
|
||||||
| `AI_REVIEW_TOKEN` | Gitea API token with `write:repository` + `read:repository` scopes (use a bot/service account) |
|
| `AI_REVIEW_TOKEN` | Gitea API token with `write:issue` + `read:repository` scopes (use a bot/service account) |
|
||||||
|
|
||||||
**Setup Steps**:
|
**Setup Steps**:
|
||||||
1. Create a Gitea bot/service account and generate an API token with `write:repository` + `read:repository` scopes
|
1. Create a Gitea bot/service account and generate an API token with `write:issue` + `read:repository` scopes
|
||||||
2. Add `AI_REVIEW_TOKEN` secret in Gitea repo settings → Actions → Secrets
|
2. Add `AI_REVIEW_TOKEN` secret in Gitea repo settings → Actions → Secrets
|
||||||
3. Add `ANTHROPIC_API_KEY` secret with your Anthropic API key
|
3. Add `ANTHROPIC_API_KEY` secret with your Anthropic API key
|
||||||
4. Ensure the `shared-prompts` submodule is initialized (`git submodule update --init`)
|
4. Ensure the `shared-prompts` submodule is initialized (`git submodule update --init`)
|
||||||
|
|||||||
@@ -29,10 +29,7 @@ gitea:
|
|||||||
ALLOW_ONLY_EXTERNAL_REGISTRATION: true
|
ALLOW_ONLY_EXTERNAL_REGISTRATION: true
|
||||||
ENABLE_BASIC_AUTHENTICATION: true
|
ENABLE_BASIC_AUTHENTICATION: true
|
||||||
ENABLE_PASSWORD_SIGNIN_FORM: false
|
ENABLE_PASSWORD_SIGNIN_FORM: false
|
||||||
AUTO_WATCH_ON_CHANGES: false
|
ENABLE_NOTIFY_MAIL: true
|
||||||
AUTO_WATCH_NEW_REPOS: false
|
|
||||||
ENABLE_NOTIFY_MAIL: false
|
|
||||||
ENABLE_TIMETRACKING: false
|
|
||||||
|
|
||||||
openid:
|
openid:
|
||||||
ENABLE_OPENID_SIGNIN: false
|
ENABLE_OPENID_SIGNIN: false
|
||||||
|
|||||||
43
mkdocs.yml
Normal file
43
mkdocs.yml
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
site_name: K8s Launchpad
|
||||||
|
site_description: Documentation for the GitOps-managed Kubernetes cluster
|
||||||
|
repo_url: https://git.forteapps.net/Forte/launchpad
|
||||||
|
repo_name: Forte/launchpad
|
||||||
|
|
||||||
|
theme:
|
||||||
|
name: material
|
||||||
|
palette:
|
||||||
|
- scheme: default
|
||||||
|
primary: indigo
|
||||||
|
toggle:
|
||||||
|
icon: material/brightness-7
|
||||||
|
name: Switch to dark mode
|
||||||
|
- scheme: slate
|
||||||
|
primary: indigo
|
||||||
|
toggle:
|
||||||
|
icon: material/brightness-4
|
||||||
|
name: Switch to light mode
|
||||||
|
features:
|
||||||
|
- navigation.instant
|
||||||
|
- navigation.sections
|
||||||
|
- navigation.top
|
||||||
|
- search.highlight
|
||||||
|
- content.code.copy
|
||||||
|
|
||||||
|
nav:
|
||||||
|
- Home: README.md
|
||||||
|
- GitOps Architecture: GITOPS-ARCHITECTURE.md
|
||||||
|
- Developer Guide: DEVELOPER-GUIDE.md
|
||||||
|
- Operations Runbook: OPERATIONS-RUNBOOK.md
|
||||||
|
- Technical Reference: REFERENCE.md
|
||||||
|
|
||||||
|
markdown_extensions:
|
||||||
|
- tables
|
||||||
|
- toc:
|
||||||
|
permalink: true
|
||||||
|
- pymdownx.highlight:
|
||||||
|
anchor_linenums: true
|
||||||
|
- pymdownx.superfences
|
||||||
|
- pymdownx.tabbed:
|
||||||
|
alternate_style: true
|
||||||
|
- admonition
|
||||||
|
- pymdownx.details
|
||||||
Reference in New Issue
Block a user