···1+# Lexicons Directory
2+3+This directory contains ATProto lexicon definitions used by the Teal project.
4+5+## Structure
6+7+- `app/`, `chat/`, `com/`, `tools/` - Symbolic links to the official ATProto lexicons from the [bluesky-social/atproto](https://github.com/bluesky-social/atproto) repository
8+- `fm.teal.alpha/` - Custom Teal-specific lexicon definitions
9+10+## Submodule Setup
11+12+The official ATProto lexicons are included as a git submodule located at `../vendor/atproto`. This allows us to:
13+14+1. Stay up-to-date with the latest ATProto lexicon definitions
15+2. Avoid duplicating large amounts of lexicon files in our repository
16+3. Maintain our custom lexicons alongside the official ones
17+18+### Initial Setup
19+20+If you're cloning this repository for the first time, you'll need to initialize the submodules:
21+22+```bash
23+git submodule update --init --recursive
24+```
25+26+### Updating ATProto Lexicons
27+28+To update to the latest ATProto lexicons:
29+30+```bash
31+cd vendor/atproto
32+git pull origin main
33+cd ../..
34+git add vendor/atproto
35+git commit -m "Update atproto lexicons to latest"
36+```
37+38+### Adding Custom Lexicons
39+40+Custom lexicons should be added to the `fm.teal.alpha/` directory following the ATProto lexicon schema format. These files are tracked directly in our repository and not affected by submodule updates.
41+42+## Generated Files
43+44+This directory may contain generated files (`.js`, `.d.ts`, etc.) that are created by lexicon compilation tools. These are ignored by git as specified in the `.gitignore` file.