Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Latest commit

 

History

43 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages