Skip to content

Atena-IT/dit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dit

Dit is a git-backed engine for repositories of documents. It does not replace Git; it layers repository semantics on top of Git so teams can work with documents, review rounds, assignments, lineage, and actor-aware history through a consistent server and CLI surface.

What Dit is

Dit treats a repository as the primary unit of work:

  • Repository: a git-backed workspace for one or more documents
  • Document: a file tracked in the repository, with binary content stored in object storage and semantic revision metadata stored by the service
  • Actor: an authenticated user whose name/email can be written into commits and joined with service metadata
  • Department: a team that participates in review rounds and assignments
  • Round: a repository-scoped review cycle
  • Assignment: a department-specific unit of work inside a round, including dispatch metadata such as sequence and dependencies
  • Lineage: history that combines git commit data with service-level actor, department, round, and storage metadata

What Dit is not

Dit is not a contracts product. Contracts are one example use case built on top of the engine.

The current React app in examples/lesscomplex-web/ should be treated as the LessComplex example app: a contracts-management UI that consumes Dit’s repository, document, and round capabilities.

Architecture

The monorepo is organized around the engine and its consumers:

  • packages/dit-core — core git/metadata primitives for repositories, rounds, branches, conflicts, and lineage
  • packages/dit-commandline — command-line surface for the engine
  • services/dit-service — FastAPI service that manages repository records, authentication, rounds, semantic document revisions, and object-storage joins
  • skills/dit-skill — repo-local skill for AI coding assistants working with Dit repositories and workflows
  • examples/lesscomplex-web — LessComplex example app (contracts-focused example consumer of the engine)

Engine model

Git remains the source of truth for commits, branches, and merge mechanics. Dit adds:

  • repository registration and lookup
  • repository-scoped round orchestration
  • department assignments and dispatch metadata
  • actor-aware commit attribution
  • semantic document revision records
  • lineage/history queries that combine git data with service metadata

For binary documents, Dit tracks repository state and workflow semantics around the file. It does not attempt generic line-level merge semantics for PDFs or Office binaries.

Local documentation

  • docs/architecture/dit-engine.md — engine concepts and boundaries
  • docs/testing/engine-first-verification.md — ordered verification plan for core, command line, service, deployment, and the example app gate
  • docs/examples/lesscomplex.md — LessComplex example app guidance
  • AGENTS.md — repository-wide contributor rules

Development

Install dependencies:

uv sync

For the full ordered verification flow across core, command line, service, deployment, and the deferred example-app gate, see docs/testing/engine-first-verification.md.

Run the targeted engine and service verification suite:

uv run --all-packages pytest \
  packages/dit-core/tests/test_rounds.py \
  packages/dit-core/tests/test_merging.py \
  packages/dit-core/tests/test_integration.py \
  packages/dit-commandline/tests/test_round_workflow.py \
  services/dit-service/tests/api/test_repository_rounds_api.py \
  services/dit-service/tests/api/test_contracts_docs.py \
  services/dit-service/tests/test_auth.py \
  services/dit-service/tests/test_models.py \
  services/dit-service/tests/workflow/test_engine.py

Run the local stack:

cd deployment
docker compose up --build

The stack includes the Dit service, storage/database dependencies, and the LessComplex example UI. The repo-local Dit skill lives under skills/dit-skill/ and is not deployed as a container.

About

Git for documents

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages