AT Protocol lexicon schemas for Sifa professional profiles (id.sifa.*) sifa.id/
TypeScript 57.8%
JavaScript 41.4%
Other 0.8%
20 1 0

Clone this repository

https://tangled.org/gui.do/sifa-lexicons https://tangled.org/did:plc:45uheisi25szrjvjurfpritx/sifa-lexicons
git@tangled.org:gui.do/sifa-lexicons git@tangled.org:did:plc:45uheisi25szrjvjurfpritx/sifa-lexicons

For self-hosted knots, clone URLs may differ based on your setup.

Download tar.gz
README.md
Sifa Logo

Sifa Lexicons#

AT Protocol lexicon schemas and TypeScript types for the id.sifa.* namespace.

Status: Alpha License: MIT Validate Node.js TypeScript


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.


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#


License#

MIT

See LICENSE for full terms.


Made with ♥ in 🇪🇺 by Singi Labs