docs: add llm.txt and AGENTS.md
This commit is contained in:
@@ -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`
|
||||||
@@ -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
|
||||||
Reference in New Issue
Block a user