Skip to content

Commit 677d314

Browse files
authored
Merge pull request #34 from boringstack-xyz/chore/boringstack-family-bun-security
feat: adopt boringstack family conventions, bun, and org security CI
2 parents 4e22f1b + fed9f29 commit 677d314

106 files changed

Lines changed: 2596 additions & 5849 deletions

File tree

Some content is hidden

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

.claude/agents/domain-reviewer.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,4 @@ For each failure, point to the file:line and explain which rule it violates and
2828

2929
Do not modify any files. Read-only review.
3030

31-
Run `pnpm lint src/domain/` and include any lint errors in the report.
31+
Run `bun run lint src/domain/` and include any lint errors in the report.

.claude/commands/check.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
2-
description: Run pnpm check and summarize any failures
2+
description: Run bun run check and summarize any failures
33
---
44

5-
Run `pnpm check` and report the result:
5+
Run `bun run check` and report the result:
66

7-
- If it passes: say "check: green" and stop.
7+
- If it passes: say "check: green". Mention that `bun run validate` is the full bar (check + Playwright smoke) if they asked whether they can ship.
88
- If it fails: show the first failing step and the first 20 lines of its output, then stop. Do not attempt fixes unless I ask.

.claude/commands/new-feature.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
---
2-
description: Scaffold a new feature via pnpm new:feature
2+
description: Scaffold a new feature via bun run new:feature
33
argument-hint: <FeatureName>
44
---
55

6-
Run `pnpm new:feature $ARGUMENTS`. Then:
6+
Run `bun run new:feature $ARGUMENTS`. Then:
77

88
1. Read `docs/ai/feature-checklist.md` if you haven't in this session.
99
2. List the files that were created.

.claude/commands/new-module.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
---
2-
description: Scaffold a new domain module via pnpm new:module
2+
description: Scaffold a new domain module via bun run new:module
33
argument-hint: <ModuleName>
44
---
55

6-
Run `pnpm new:module $ARGUMENTS`. Then:
6+
Run `bun run new:module $ARGUMENTS`. Then:
77

88
1. Read `docs/ai/module-template.md` and `docs/ai/naming-conventions.md` if you haven't in this session.
99
2. Describe the 8 files that were created.

.claude/commands/new-scene.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
---
2-
description: Scaffold a new Phaser scene via pnpm new:scene
2+
description: Scaffold a new Phaser scene via bun run new:scene
33
argument-hint: <SceneName>
44
---
55

6-
Run `pnpm new:scene $ARGUMENTS`. Then:
6+
Run `bun run new:scene $ARGUMENTS`. Then:
77

88
1. Read `docs/ai/scene-template.md` if you haven't in this session.
99
2. Remind me to register the scene in `src/app/config/gameConfig.ts`.

.claude/commands/review-slice.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@ Review the feature at `$ARGUMENTS` (or the most recently-changed feature if no p
99
2. Does it define `I<Name>FeatureDeps` with an event bus + any ports it needs?
1010
3. Does it have a `.test.ts` with fake ports from `@shared/testing`?
1111
4. Does it register in a scene's `*.setup.ts`?
12-
5. Does `docs/ai/catalog.md` list it? (Run `pnpm catalog` and check.)
12+
5. Does `docs/ai/catalog.md` list it? (Run `bun run catalog` and check.)
1313

1414
Report as a short checklist. Do not fix issues automatically — list them.

.claude/commands/speckit/implement.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ You **MUST** consider the user input before proceeding (if not empty).
130130
**Tool-Specific Patterns**:
131131
- **Docker**: `node_modules/`, `.git/`, `Dockerfile*`, `.dockerignore`, `*.log*`, `.env*`, `coverage/`
132132
- **ESLint**: `node_modules/`, `dist/`, `build/`, `coverage/`, `*.min.js`
133-
- **Prettier**: `node_modules/`, `dist/`, `build/`, `coverage/`, `package-lock.json`, `yarn.lock`, `pnpm-lock.yaml`
133+
- **Prettier**: `node_modules/`, `dist/`, `build/`, `coverage/`, `package-lock.json`, `yarn.lock`, `bun.lock`
134134
- **Terraform**: `.terraform/`, `*.tfstate*`, `*.tfvars`, `.terraform.lock.hcl`
135135
- **Kubernetes/k8s**: `*.secret.yaml`, `secrets/`, `.kube/`, `kubeconfig*`, `*.key`, `*.crt`
136136

.claude/commands/verify-boundaries.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
description: Run architectural boundary checks (eslint boundaries + dep-cruiser)
33
---
44

5-
Run `pnpm check:arch`. Report:
5+
Run `bun run check:arch`. Report:
66

77
1. Boundary violations (if any), from both tools.
88
2. Orphan modules (if any) from dep-cruiser.

.claude/settings.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
{
22
"permissions": {
33
"allow": [
4-
"Bash(pnpm:*)",
4+
"Bash(bun:*)",
5+
"Bash(bunx:*)",
56
"Bash(node:*)",
67
"Bash(npx playwright:*)",
78
"Bash(git status)",

.dependency-cruiser.cjs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,14 @@ module.exports = {
6767
from: { path: '^src/features' },
6868
to: { path: '^src/app' },
6969
},
70+
{
71+
name: 'features-cannot-import-runtime',
72+
severity: 'error',
73+
comment:
74+
'Features orchestrate domain + ports. Runtime implements those ports. Do not import runtime from features.',
75+
from: { path: '^src/features' },
76+
to: { path: '^src/runtime' },
77+
},
7078
{
7179
name: 'no-circular',
7280
severity: 'error',

0 commit comments

Comments
 (0)