+44
lexicons/README.md
+44
lexicons/README.md
···
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.