···11+# Lexicons Directory
22+33+This directory contains ATProto lexicon definitions used by the Teal project.
44+55+## Structure
66+77+- `app/`, `chat/`, `com/`, `tools/` - Symbolic links to the official ATProto lexicons from the [bluesky-social/atproto](https://github.com/bluesky-social/atproto) repository
88+- `fm.teal.alpha/` - Custom Teal-specific lexicon definitions
99+1010+## Submodule Setup
1111+1212+The official ATProto lexicons are included as a git submodule located at `../vendor/atproto`. This allows us to:
1313+1414+1. Stay up-to-date with the latest ATProto lexicon definitions
1515+2. Avoid duplicating large amounts of lexicon files in our repository
1616+3. Maintain our custom lexicons alongside the official ones
1717+1818+### Initial Setup
1919+2020+If you're cloning this repository for the first time, you'll need to initialize the submodules:
2121+2222+```bash
2323+git submodule update --init --recursive
2424+```
2525+2626+### Updating ATProto Lexicons
2727+2828+To update to the latest ATProto lexicons:
2929+3030+```bash
3131+cd vendor/atproto
3232+git pull origin main
3333+cd ../..
3434+git add vendor/atproto
3535+git commit -m "Update atproto lexicons to latest"
3636+```
3737+3838+### Adding Custom Lexicons
3939+4040+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.
4141+4242+## Generated Files
4343+4444+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.