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
53 changes: 0 additions & 53 deletions .github/workflows/changeset-check.yml

This file was deleted.

38 changes: 0 additions & 38 deletions .github/workflows/template-sync-check.yml

This file was deleted.

64 changes: 0 additions & 64 deletions .github/workflows/test.yml

This file was deleted.

5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,11 @@ tests/e2e/.auth/
coverage/
playwright-report/
test-results/
tests/**/__screenshots__/
tests/e2e/blob-results/
*.webm
*.zip
.nyc_output/

# Local Linear configuration
.claude/linear-config.json
Expand Down
41 changes: 23 additions & 18 deletions .husky/pre-push
Original file line number Diff line number Diff line change
@@ -1,26 +1,31 @@
#!/usr/bin/env sh

echo "🔍 Running pre-push checks..."
# Coverage gates are enforced by vitest via the test scripts below:
# server: vitest.config.ts (statements 85 / branches 80 / functions 85 / lines 85)
# client: vitest.config.frontend.ts (statements 65 / branches 70 / functions 58 / lines 67)
# If coverage drops below threshold, the test command exits non-zero and the push aborts.

# Type checking
echo "📝 Type checking..."
pnpm typecheck || {
echo "❌ Type check failed. Push aborted."
exit 1
}
echo "🔍 Running pre-push checks..."

# Server unit tests only (faster, more reliable)
echo "🧪 Running server unit tests..."
pnpm test:unit:server || {
echo "❌ Server unit tests failed. Push aborted."
exit 1
run() {
name="$1"
shift
echo ""
echo "$name"
"$@" || {
echo "❌ $name failed. Push aborted."
exit 1
}
}

# Build verification
echo "🏗️ Verifying build..."
pnpm build || {
echo "❌ Build failed. Push aborted."
exit 1
}
run "📝 Type checking" pnpm typecheck
run "🧹 Linting" pnpm lint
run "🧪 Server tests + coverage gate" pnpm test:unit:server
run "🧪 Client tests + coverage gate" pnpm test:unit:client
run "🏗️ App build" pnpm build
run "🔁 Template sync check" pnpm sync:template:check
run "🧪 CLI tests" pnpm -C packages/bhono-app test:run
run "🏗️ CLI build" pnpm -C packages/bhono-app build

echo ""
echo "✅ All pre-push checks passed!"
2 changes: 2 additions & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
@etus:registry=https://registry.npmjs.org/
//registry.npmjs.org/:_authToken=${NODE_AUTH_TOKEN}
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ Fix any issues before proceeding.
|---------------|-------------------|--------|
| `packages/bhono-app/src/*` | **YES** | CLI code published to npm |
| `packages/bhono-app/templates/*` | **YES** | Templates shipped to users |
| `packages/create-bhono-app/*` | **YES** | Published to npm |
| `packages/create-bhono/*` | **YES** | Published to npm |
| `src/*` (app code) | **NO** | Not published, internal app |
| `tests/*` | **NO** | Test-only changes |
| `config/*`, `.github/*` | **NO** | Build/CI infrastructure |
Expand Down
2 changes: 2 additions & 0 deletions packages/bhono-app/templates/base/.npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
@etus:registry=https://registry.npmjs.org/
//registry.npmjs.org/:_authToken=${NODE_AUTH_TOKEN}
5 changes: 5 additions & 0 deletions packages/bhono-app/templates/base/_gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,11 @@ tests/e2e/.auth/
coverage/
playwright-report/
test-results/
tests/**/__screenshots__/
tests/e2e/blob-results/
*.webm
*.zip
.nyc_output/

# Local Linear configuration
.claude/linear-config.json
Expand Down