Overview#
Lexicons are the schema language of the AT Protocol. They define how data is structured, validated, and exchanged across the decentralized network. Every record stored on a user's PDS (Personal Data Server) must conform to a lexicon schema.
This package defines the id.sifa.* namespace -- the data contract between a user's PDS and the Sifa AppView. Because the schemas live on the protocol layer, all professional profile data (positions, education, skills, endorsements) is portable: users own their data and can move between services without loss.
Lexicon Schemas#
| NSID | Purpose |
|---|---|
id.sifa.defs |
Shared tokens and types |
id.sifa.profile.self |
Professional profile singleton |
id.sifa.profile.position |
Work experience |
id.sifa.profile.education |
Education |
id.sifa.profile.skill |
Skills |
id.sifa.profile.certification |
Certifications and licenses |
id.sifa.profile.project |
Projects |
id.sifa.profile.volunteering |
Volunteer experience |
id.sifa.profile.publication |
Publications |
id.sifa.profile.course |
Courses |
id.sifa.profile.honor |
Honors and awards |
id.sifa.profile.language |
Language proficiency |
id.sifa.endorsement |
Skill endorsements |
id.sifa.endorsement.confirmation |
Endorsement confirmations |
id.sifa.graph.follow |
Professional follows |
id.sifa.authProfileAccess |
OAuth permission set |
Usage#
Validate schemas#
npm install
npx lex validate ./lexicons
Generate TypeScript types#
npx lex gen-api ./lexicons --output ./src/types
Use in your project#
Copy the lexicons/ directory into your AT Protocol project, or reference the schemas directly from this repository.
External Dependencies#
These lexicons reference types from:
community.lexicon.*-- Location and calendar types (lexicon-community)com.atproto.*-- Core AT Protocol types (strongRef, selfLabels)
Quick Start#
Prerequisites: Node.js 25+, npm.
git clone https://github.com/singi-labs/sifa-lexicons.git
cd sifa-lexicons
npm install
Development#
npm test # Run tests
npm run build # Compile TypeScript
npm run lint # Lint
See CONTRIBUTING.md for branching strategy, commit format, and code review process.
Related Repositories#
| Repository | Description | License |
|---|---|---|
| sifa-api | AppView backend (Fastify, AT Protocol) | Source-available |
| sifa-web | Frontend (Next.js, React, TailwindCSS) | Source-available |
| sifa-deploy | Docker Compose + Caddy deployment config | Source-available |
| sifa-workspace | Project coordination and issue tracking | Source-available |
AT Protocol Lexicon Resources#
| Resource | Description |
|---|---|
| lexicon.garden | Discovery platform for AT Protocol lexicons -- browse, search, and explore schemas. |
| lexicon-community/lexicon | Shared community lexicons for cross-app interoperability. |
| AT Protocol Lexicon Spec | Official specification for the Lexicon schema language. |
Community#
- Website: sifa.id
- Discussions: GitHub Discussions
- Issues: Report bugs
License#
MIT
See LICENSE for full terms.
Made with ♥ in 🇪🇺 by Singi Labs