Skip to content

Commit ee3faad

Browse files
agjscursoragent
andcommitted
chore: add monorepo desired-repo-settings and audit script
Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 1dfb045 commit ee3faad

13 files changed

Lines changed: 237 additions & 0 deletions

File tree

.github/desired-repo-settings.json

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
{
2+
"description": "Desired GitHub settings for boringstack-xyz/boringstack (monorepo). Applied via scripts/audit-repo-settings.sh — operator runs the printed commands.",
3+
"security_and_analysis": {
4+
"secret_scanning": "enabled",
5+
"secret_scanning_push_protection": "enabled",
6+
"dependabot_security_updates": "enabled"
7+
},
8+
"merge": {
9+
"delete_branch_on_merge": true,
10+
"allow_squash_merge": true,
11+
"allow_merge_commit": false,
12+
"allow_rebase_merge": false
13+
},
14+
"branch_protection_main": {
15+
"required_status_check_contexts": [
16+
"dep vuln scan (osv + audit)",
17+
"docker compose config (all overlay combinations)",
18+
"gitleaks secret scan",
19+
"semgrep SAST",
20+
"shellcheck (scripts/)",
21+
"tofu fmt + validate",
22+
"typecheck + lint + test",
23+
"validate",
24+
"yamllint (compose + workflows)"
25+
],
26+
"required_approving_review_count": 0,
27+
"dismiss_stale_reviews": true,
28+
"required_linear_history": true,
29+
"required_signatures": true,
30+
"allow_force_pushes": false,
31+
"allow_deletions": false
32+
}
33+
}

AGENTS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ Single repository: `apps/api`, `apps/ui`, `apps/docs`, `infra/compose`, `infra/b
88
bun run regen # cross-app generators (ACL, OpenAPI, lint-meta, docs JSON)
99
bun run check # drift checks before push
1010
./setup.sh --up # boot local dev stack
11+
./scripts/audit-repo-settings.sh # diff GitHub repo settings vs .github/desired-repo-settings.json
1112
```
1213

1314
## Layout

apps/api/.github/desired-repo-settings.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{
2+
"_deprecated": "Use monorepo canonical file: /.github/desired-repo-settings.json and scripts/audit-repo-settings.sh",
23
"description": "Desired GitHub settings for this repo. Applied via scripts/ci/audit-repo-settings.sh — operator runs the printed commands.",
34
"security_and_analysis": {
45
"secret_scanning": "enabled",

apps/api/scripts/ci/audit-repo-settings.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
#!/usr/bin/env bash
22
#
3+
# DEPRECATED: use monorepo canonical script at scripts/audit-repo-settings.sh
4+
#
35
# Diff this repo's GitHub settings against the desired-state file. Prints
46
# fully copy-pasteable `gh api ...` commands for every drift. No auto-apply
57
# — the operator runs the printed commands. Exit 0 if clean, 1 if any drift.

apps/docs/.github/desired-repo-settings.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{
2+
"_deprecated": "Use monorepo canonical file: /.github/desired-repo-settings.json and scripts/audit-repo-settings.sh",
23
"description": "Desired GitHub settings for this repo (the boringstack-xyz org's .github docs repo). Applied via scripts/audit-repo-settings.sh; operator runs the printed commands.",
34
"security_and_analysis": {
45
"secret_scanning": "enabled",

apps/docs/scripts/audit-repo-settings.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
#!/usr/bin/env bash
22
#
3+
# DEPRECATED: use monorepo canonical script at scripts/audit-repo-settings.sh
4+
#
35
# Diff this repo's GitHub settings against the desired-state file. Prints
46
# fully copy-pasteable `gh api ...` commands for every drift. No auto-apply
57
# the operator runs the printed commands. Exit 0 if clean, 1 if any drift.

apps/ui/.github/desired-repo-settings.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{
2+
"_deprecated": "Use monorepo canonical file: /.github/desired-repo-settings.json and scripts/audit-repo-settings.sh",
23
"description": "Desired GitHub settings for this repo. Applied via scripts/ci/audit-repo-settings.sh — operator runs the printed commands.",
34
"security_and_analysis": {
45
"secret_scanning": "enabled",

apps/ui/scripts/ci/audit-repo-settings.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
#!/usr/bin/env bash
22
#
3+
# DEPRECATED: use monorepo canonical script at scripts/audit-repo-settings.sh
4+
#
35
# Diff this repo's GitHub settings against the desired-state file. Prints
46
# fully copy-pasteable `gh api ...` commands for every drift. No auto-apply
57
# — the operator runs the printed commands. Exit 0 if clean, 1 if any drift.

infra/bootstrap/.github/desired-repo-settings.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{
2+
"_deprecated": "Use monorepo canonical file: /.github/desired-repo-settings.json and scripts/audit-repo-settings.sh",
23
"description": "Desired GitHub settings for this repo. Applied via scripts/audit-repo-settings.sh — operator runs the printed commands.",
34
"security_and_analysis": {
45
"secret_scanning": "enabled",

infra/bootstrap/scripts/audit-repo-settings.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
#!/usr/bin/env bash
22
#
3+
# DEPRECATED: use monorepo canonical script at scripts/audit-repo-settings.sh
4+
#
35
# Diff this repo's GitHub settings against the desired-state file. Prints
46
# fully copy-pasteable `gh api ...` commands for every drift. No auto-apply
57
# — the operator runs the printed commands. Exit 0 if clean, 1 if any drift.

0 commit comments

Comments
 (0)