From e4a4aeb1009d4c6d215b4c506e2a787ab818957a Mon Sep 17 00:00:00 2001 From: Jacob Mathison Date: Sat, 6 Jun 2026 10:27:10 -0500 Subject: [PATCH] docs: add llm.txt and AGENTS.md --- AGENTS.md | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ llm.txt | 64 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 151 insertions(+) create mode 100644 AGENTS.md create mode 100644 llm.txt diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..d7819fd --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,87 @@ +# AGENTS.md — Throne of the Bone King + +AI agent and coding assistant instructions for this repo. + +## Project Summary +React Native 0.85.3 mobile app. Part of the **Bone Lord Bob** universe. +See `llm.txt` for full project context and stack details. + +--- + +## Ground Rules + +### Do +- Write TypeScript — strict, no `any` unless genuinely unavoidable +- Use functional components and React hooks exclusively +- Follow existing naming conventions (PascalCase components, camelCase hooks/utils) +- Use `StyleSheet.create()` for styles +- Write tests for new logic in `__tests__/` +- Commit as **Jacob Mathison** (`jacob@mathisonprojects.com`) — never commit as an AI identity + +### Don't +- Don't use browser/DOM APIs (`window`, `document`, `localStorage`) — this is React Native +- Don't install packages without noting them; confirm major additions with the team +- Don't modify `android/` or `ios/` native files unless explicitly asked +- Don't commit `node_modules/`, `Pods/`, or build artifacts +- Don't run destructive commands (`rm -rf`, `git push --force`) without confirmation + +--- + +## Structure Conventions +``` +src/ # (create when adding more than a few components) + components/ # Reusable UI components + screens/ # Screen-level components + hooks/ # Custom hooks + utils/ # Helper functions + types/ # Shared TypeScript types + assets/ # Images, fonts, icons +``` +Keep `App.tsx` as the navigation root. Move feature code into `src/` once the project grows. + +--- + +## Common Tasks + +### Add a new screen +1. Create `src/screens/YourScreen.tsx` +2. Register in the navigator (once navigation is set up) +3. Add a test in `__tests__/YourScreen.test.tsx` + +### Run the app +```bash +npm install +# iOS (first time or after native changes): +cd ios && bundle exec pod install && cd .. +npm run ios + +# Android: +npm run android +``` + +### Lint + Format +```bash +npm run lint # ESLint +npx prettier --write . # Format all files +``` + +--- + +## Commit Message Format +``` +type(scope): short description + +Types: feat | fix | chore | docs | refactor | test | style +Examples: + feat(screens): add BoneKingHomeScreen + fix(android): resolve gradle build error + chore(deps): bump react-native to 0.85.3 + docs: update AGENTS.md +``` + +--- + +## Gitea Repo +`http://100.79.253.19:3000/jacob-mathison/blb-throne-of-the-bone-king` + +Default branch: `main` diff --git a/llm.txt b/llm.txt new file mode 100644 index 0000000..f935703 --- /dev/null +++ b/llm.txt @@ -0,0 +1,64 @@ +# llm.txt — Throne of the Bone King + +## Project +**Name:** Bone Lord Bob — Throne of the Bone King +**Repo:** `jacob-mathison/blb-throne-of-the-bone-king` +**Type:** Mobile application (React Native) +**Status:** Early development / scaffolding + +## Part of +Bone Lord Bob (BLB) is an original American Anime project developed by Jacob Mathison and Joseph Bro under Mathison Projects Inc. + +## Stack +- **React Native** 0.85.3 +- **React** 19.2.3 +- **TypeScript** ^5.8.3 +- **Metro** bundler +- **Jest** for testing +- **ESLint + Prettier** for linting/formatting +- **Targets:** Android + iOS + +## Project Structure +``` +blb-throne-of-the-bone-king/ +├── App.tsx # Root application component +├── index.js # Entry point +├── android/ # Android native project +├── ios/ # iOS native project (CocoaPods) +├── __tests__/ # Jest test suite +├── babel.config.js # Babel config (react-native preset) +├── metro.config.js # Metro bundler config +├── tsconfig.json # TypeScript config +├── jest.config.js # Jest config +├── Gemfile # Ruby deps for CocoaPods / fastlane +├── .eslintrc.js # Lint rules (@react-native/eslint-config) +├── .prettierrc.js # Prettier rules +├── llm.txt # This file — project context for AI agents +└── AGENTS.md # AI agent operational instructions +``` + +## Dev Commands +```bash +npm install # Install JS deps +bundle exec pod install # iOS CocoaPods deps (run inside ios/) +npm run android # Run on Android emulator/device +npm run ios # Run on iOS simulator/device +npm run start # Start Metro bundler +npm run lint # ESLint +npm run test # Jest +``` + +## Coding Conventions +- TypeScript strictly typed — avoid `any` +- Functional components + hooks only (no class components) +- Component files: PascalCase (e.g. `BoneKingScreen.tsx`) +- Utility/hook files: camelCase (e.g. `useBoneKing.ts`) +- Styles: `StyleSheet.create()` — no inline style objects on hot paths +- Keep native modules minimal; prefer JS-side implementations where possible + +## Notes for LLMs +- This is a React Native project — do NOT suggest browser DOM APIs +- Metro is the bundler — not Vite, Webpack, or esbuild +- iOS native code lives in `ios/` (Swift/ObjC); Android in `android/` (Kotlin/Java) +- Pods are not committed to git — always run `pod install` after pulling +- `node_modules/` is not committed