The main repository for inGitDB — an open-source versioned database that stores data in text files (JSON, YAML, columnar storage) with Git-based version control.
This repo is the central hub for project planning, issue tracking, architecture documentation, and AI agent prompts across the entire inGitDB ecosystem.
| Section | Description |
|---|---|
| 📋 Project Overview | What inGitDB is and why it exists |
| 🏗️ Architecture | System components and how they connect |
| 📦 Repositories | All repos in the inGitDB organization |
| 📄 Documentation | Architecture specs, API reference, dev plan |
| 🤖 AI Prompts | 10 ready-to-use prompts for AI coding agents |
| 📐 Development Plan | Execution plan, skills matrix, agent roles |
| 🔌 OpenAPI Spec | REST API contract (OpenAPI 3.0, 24 endpoints) |
| 🧩 TypeScript Client Architecture | Client design, fluent API, query builder |
| ⚙️ GitHub Actions Integration | CI/CD workflows and custom validation actions |
| 📐 Schemas | JSON Schema definitions for inGitDB files |
inGitDB is a Git-backed versioned database designed for teams who want to manage structured data with the same workflows they use for code.
- 🔀 Version Control — full history, branching, and merging of data changes
- 👥 Collaboration — multiple users work on data using Git-native workflows (PRs, reviews, branches)
- 📝 Text-Based Storage — JSON, YAML, and columnar formats that are human-readable and Git-diffable
- ✅ Validation — schema validation and referential integrity checks via CLI and GitHub Actions
- 📊 Reference Data — ideal for configuration, reference tables, and slowly-changing data
┌─────────────────────────────────────────────────────┐
│ GitHub Actions │
│ (Validation & CI/CD) │
└─────────────────────────────────────────────────────┘
▲
│ Uses
│
┌────────────────┐ ┌───▼──────────────┐ ┌─────────────────┐
│ ingitdb-ts │◄──┤ ingitdb-server │───┤ ingitdb-go │
│ (TS Client) │ │ (REST API) │ │ (Go CLI/Lib) │
└────────────────┘ └──────────────────┘ └─────────────────┘
│
▼
┌────────────────┐
│ Git Storage │
│ (JSON/YAML/CSV)│
└────────────────┘
| Concept | Description |
|---|---|
| Database | A named set of collections stored as a Git repository or subdirectory |
| Collection | A set of items validated against a JSON Schema |
| Item | An individual data entry with auto-generated _id, _version, and timestamps |
| Branch | A Git branch for isolating data changes |
| Commit | A Git commit representing a point-in-time snapshot of database state |
💡 Collections vs Tables: Unlike traditional database tables where records are flat rows, a collection item can itself contain sub-collections — enabling naturally hierarchical data structures without joins or foreign keys.
| Repository | Description | Status |
|---|---|---|
ingitdb (this repo) |
Main hub — planning, issues, AI prompts, documentation | Active |
ingitdb-go |
Go CLI & library — core validation, data management, server (serve command) |
|
ingitdb-ts |
TypeScript client library for inGitDB | Active |
ingitdb-schema |
JSON Schema definitions for inGitDB databases | Active |
| Repository | Description |
|---|---|
ingitdb-action |
Lightweight GitHub Action for running inGitDB validation |
ingitdb-github-action |
Full-featured GitHub Action (TypeScript) for CI/CD integration |
| Repository | Description |
|---|---|
demo-ingitdb |
Demo database with countries, tasks, and sample collections |
ingitdb-demo-db |
Additional demo database |
ingitdb-test-db |
Test database used for automated testing |
This repository doesn't contain application source code. Instead, it serves as the project hub:
ingitdb/
├── README.md ← You are here
├── AGENTS.md ← AI agent guidelines (all agents)
├── CLAUDE.md ← Claude Code configuration
├── LICENSE ← CC0 1.0 Universal
├── docs/ ← Planning & architecture documents
│ ├── dev-plan/ ← Skills matrix, agents, execution plan
│ ├── open-api/ ← OpenAPI spec & REST API reference
│ ├── ingitdb-ts-architecture.md ← TypeScript client architecture
│ ├── github-actions-integration.md ← CI/CD workflows & actions
│ └── summary.md ← Deliverable status & next steps
└── ai/
└── prompts/ ← 10 AI development task prompts
JSON Schema definitions for inGitDB configuration and collection files are available in the ingitdb-schema repository:
| Schema File | Validates | Description |
|---|---|---|
ingitdb-collection.schema.json |
.ingitdb-collection.yaml files |
Collection structure — columns, record file format, ordering, and localized titles |
ingitdb-root-config.schema.json |
.ingitdb.yaml files |
Root configuration mapping collection IDs to directory paths |
These schemas are derived from the Go struct definitions in ingitdb-go. See the ingitdb-schema README for full property documentation.
- Review the Execution Plan — timeline and milestones
- Check the Skills Matrix — team requirements
- Skim Risk Management — known risks and mitigations
- Track progress via Summary
- Browse the Architecture Documentation
- Reference the OpenAPI Spec for the REST API contract
- Follow Technology Stack recommendations
- Use AI Prompts for guided development tasks
- Start with AGENTS.md for complete guidelines
- Find your role and deliverables
- Pick your prompt and follow acceptance criteria
npx @openapitools/openapi-generator-cli generate \
-i docs/openapi-spec.yaml \
-g nodejs-express-server \
-o ./ingitdb-servernpx @openapitools/openapi-generator-cli generate \
-i docs/openapi-spec.yaml \
-g typescript-axios \
-o ./ingitdb-ts/src/generated| Phase | Duration | Focus | Status |
|---|---|---|---|
| 1 | Weeks 1–2 | API Design & OpenAPI Spec | ✅ Done |
| 2 | Weeks 3–6 | Server Implementation | 🔄 In Progress |
| 3 | Weeks 5–7 | TypeScript Client | 🔄 In Progress |
| 4 | Weeks 7–8 | GitHub Actions Integration | Planned |
| 5 | Weeks 9–10 | Documentation & Polish | Planned |
| 6 | Weeks 11–12 | Testing & Release | Planned |
| 7 | Weeks 13–16 | Extended Features & Integrations | Planned |
See the full Development Plan for details.
Contributions are welcome! This repo is best for:
- Planning proposals — open an issue or PR to discuss architecture changes
- Documentation improvements — fix typos, add guides, improve clarity
- Issue tracking — report bugs or request features across the ecosystem
For code contributions to implementations:
| Component | Repository |
|---|---|
| Go CLI & Server | ingitdb/ingitdb-go |
| TypeScript Client | ingitdb/ingitdb-ts |
| GitHub Actions | ingitdb/ingitdb-github-action |
| Schema Definitions | ingitdb/ingitdb-schema |
CC0 1.0 Universal — see LICENSE for details. Implementation repositories are licensed under MIT.