How idiolect-dev/idiolect works
Idiolect is a community-governed toolkit for defining, translating, verifying, and evolving shared data schemas. Its main workflow runs from authoring record definitions through change analysis and governance, to verified migration and signed release; published records can then be indexed and queried, while observers measure ecosystem activity. The graph also includes the identity and session layers used for publishing, plus generated Rust and TypeScript schema surfaces. README documents several subsystem links not visible in the sampled source, so those are shown only where the documentation explicitly describes them.
Main entry points: main.rs Idiolect CLI · src/lib.rs Community workspace · indexer.rs Event indexer · src/lib.rs Lens translation
Components 18
Schema authoring
- Schema codegen
crates/idiolect-codegen/src/lib.rs - Rust records
crates/idiolect-records/src/lib.rs - TypeScript schema
packages/schema/src/index.ts
Change lifecycle
- Community workspace
crates/idiolect-community/src/lib.rs - Lens translation
crates/idiolect-lens/src/lib.rs - Migration planner
crates/idiolect-migrate/src/lib.rs - Translation verifier
crates/idiolect-verify/src/lib.rs
Publishing runtime
- Identity resolver
crates/idiolect-identity/src/lib.rs - OAuth sessions
crates/idiolect-oauth/src/lib.rs
Indexing and discovery
- Event indexer
crates/idiolect-indexer/src/indexer.rs - Cursor store
crates/idiolect-indexer/src/cursor.rs - Query service
crates/idiolect-orchestrator/src/lib.rs - Search catalog
crates/idiolect-orchestrator/src/catalog.rs - Activity observer
crates/idiolect-observer/src/lib.rs
User interfaces
- Idiolect CLI
crates/idiolect-cli/src/main.rs
Other components
- Community operator
- Application client
- ATProto PDS and firehose
Connections 21
- Community operator → Idiolect CLI: operates
- Schema codegen → Rust records: generates types
- Schema codegen → TypeScript schema: generates validators
- Community workspace → Migration planner: plans changes
- Migration planner → Lens translation: translates records
- Community workspace → Translation verifier: attaches evidence
- Community workspace → Community workspace: records approvals and releases
- Identity resolver → Lens translation: resolves identities
- OAuth sessions → Lens translation: authenticates writes
- Lens translation → ATProto PDS and firehose: publishes records
- ATProto PDS and firehose → Event indexer: streams commits
- Event indexer → Cursor store: persists progress
- Event indexer → Query service: dispatches records
- Query service → Search catalog: updates and queries
- Event indexer → Activity observer: dispatches events
- Activity observer → ATProto PDS and firehose: publishes observations
- Application client → Query service: queries catalog
- Idiolect CLI → Identity resolver: resolves DIDs
- Idiolect CLI → Query service: requests queries
- Idiolect CLI → Community workspace: operates workspace
- Idiolect CLI → Translation verifier: runs checks