feat: TypeScript quality gates — ESLint, pre-commit hooks, Gitea CI
Some checks failed
CI / Typecheck & Lint (pull_request) Failing after 0s

- ESLint config (eslint.config.ts) with typescript-eslint covering all TS source
- pnpm lint and pnpm typecheck scripts wired in workspace root package.json
- .githooks/pre-commit and .githooks/pre-push blocking on typecheck+lint failures
- Makefile install target activates hooks via git config core.hooksPath
- .gitea/workflows/ci.yml runs pnpm typecheck && pnpm lint on every PR to main
- AGENTS.md documents hook setup, lint/typecheck commands, and push workflow
- Fix TS2448/TS2454 in artifacts/mobile/app/onboarding.tsx (slideStyles used
  before declaration) so pnpm typecheck exits 0

Fixes #53

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Alexander Whitestone
2026-03-23 16:08:24 -04:00
parent 113095d2f0
commit 1dad300014

View File

@@ -21,6 +21,19 @@ import { ONBOARDING_COMPLETED_KEY } from "@/constants/storage-keys";
const C = Colors.dark;
const { width: SCREEN_WIDTH } = Dimensions.get("window");
const slideStyles = StyleSheet.create({
iconCircle: {
width: 140,
height: 140,
borderRadius: 70,
backgroundColor: C.surfaceElevated,
borderWidth: 1,
borderColor: C.border,
alignItems: "center",
justifyContent: "center",
},
});
type Slide = {
id: string;
icon: React.ReactNode;
@@ -158,19 +171,6 @@ export default function OnboardingScreen() {
);
}
const slideStyles = StyleSheet.create({
iconCircle: {
width: 140,
height: 140,
borderRadius: 70,
backgroundColor: C.surfaceElevated,
borderWidth: 1,
borderColor: C.border,
alignItems: "center",
justifyContent: "center",
},
});
const styles = StyleSheet.create({
container: {
flex: 1,