Expand description
jjj (Jujutsu Juggler) — distributed project management using Popperian epistemology.
Entities follow a three-tier model:
- Problems: things to solve, forming a DAG via
parent_id - Solutions: conjectures attached to jj Change IDs (not commit hashes)
- Critiques: error-elimination feedback that can block solution approval
All metadata lives in an orphaned jjj bookmark and syncs via jj git push/fetch.
There is no central server and no database required for the core workflow.
SQLite is used as a local cache for search and embeddings only.
Re-exports§
pub use error::JjjError;pub use error::Result;pub use models::Critique;pub use models::CritiqueSeverity;pub use models::CritiqueStatus;pub use models::Milestone;pub use models::MilestoneStatus;pub use models::Problem;pub use models::ProblemStatus;pub use models::ProjectConfig;pub use models::Solution;pub use models::SolutionStatus;
Modules§
- automation
- Config-driven automation: fires actions in response to jjj events.
- cli
- commands
- context
- Command execution context providing shared access to storage and JJ client.
- db
- display
- Display formatting utilities for entity IDs.
- domain
- Shared domain operations.
- embeddings
- Embedding client for computing vector embeddings via the Ollama API.
- error
- Error types for jjj.
- id
- UUID7 generation and utilities for entity IDs.
- jj
- local_
config - Local configuration for jjj stored in .jj/jjj.toml
- models
- picker
- Interactive picker for disambiguation.
- ranking
- resolve
- Entity resolution from user input to UUID.
- storage
- sync
- tui
- utils