{"id":47709888,"url":"https://github.com/genealogix/glx","last_synced_at":"2026-04-14T08:01:43.785Z","repository":{"id":338306746,"uuid":"1077093707","full_name":"genealogix/glx","owner":"genealogix","description":"An open standard for collaborative genealogy and family history","archived":false,"fork":false,"pushed_at":"2026-04-10T06:28:03.000Z","size":18362,"stargazers_count":3,"open_issues_count":251,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-10T08:29:46.624Z","etag":null,"topics":["cli","family-history","family-tree","gedcom","genealogical-data","genealogical-trees","genealogy","git-native","go","golang","json-schema","open-standard","specification","yaml"],"latest_commit_sha":null,"homepage":"https://genealogix.io","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/genealogix.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-15T19:08:25.000Z","updated_at":"2026-04-10T06:27:54.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/genealogix/glx","commit_stats":null,"previous_names":["genealogix/glx"],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/genealogix/glx","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genealogix%2Fglx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genealogix%2Fglx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genealogix%2Fglx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genealogix%2Fglx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/genealogix","download_url":"https://codeload.github.com/genealogix/glx/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genealogix%2Fglx/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31787263,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T02:24:21.117Z","status":"ssl_error","status_checked_at":"2026-04-14T02:24:20.627Z","response_time":153,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","family-history","family-tree","gedcom","genealogical-data","genealogical-trees","genealogy","git-native","go","golang","json-schema","open-standard","specification","yaml"],"created_at":"2026-04-02T18:28:49.780Z","updated_at":"2026-04-14T08:01:43.780Z","avatar_url":"https://github.com/genealogix.png","language":"Go","readme":"---\ntitle: GENEALOGIX Specification\ndescription: Modern, evidence-first, Git-native genealogy data standard\nlayout: doc\n---\n\n# GENEALOGIX Specification\n\n[![Version](https://img.shields.io/github/v/release/genealogix/glx?include_prereleases\u0026label=version)](https://github.com/genealogix/glx/releases)\n[![Go Reference](https://pkg.go.dev/badge/github.com/genealogix/glx.svg)](https://pkg.go.dev/github.com/genealogix/glx)\n[![Go Version](https://img.shields.io/github/go-mod/go-version/genealogix/glx)](https://github.com/genealogix/glx/blob/main/go.mod)\n[![License](https://img.shields.io/badge/license-Apache%202.0-green.svg)](https://github.com/genealogix/glx/blob/main/LICENSE)\n[![CI](https://github.com/genealogix/glx/workflows/Validate%20Specification/badge.svg)](https://github.com/genealogix/glx/actions)\n[![Go Report Card](https://goreportcard.com/badge/github.com/genealogix/glx)](https://goreportcard.com/report/github.com/genealogix/glx)\n[![Contributors](https://img.shields.io/github/contributors/genealogix/glx.svg)](https://github.com/genealogix/glx/graphs/contributors)\n\nThe official specification for **GENEALOGIX (GLX)** - a portable, extensible archive format for genealogical research and beyond. Built on Git, designed for collaboration, and customizable through archive-owned vocabularies. Your data, your way, forever.\n\n## Quick Links\n\n- [📖 Read the Specification](/specification/)\n- [📋 JSON Schemas](/specification/schema/)\n- [💡 Examples](/examples/)\n- [🧪 Test Suite](https://github.com/genealogix/glx/tree/main/glx/tests)\n- [🛠 CLI](/cli)\n- [🧱 Dev Container](https://github.com/genealogix/glx/tree/main/.devcontainer)\n\n## Why GENEALOGIX?\n\nTraditional genealogy formats like GEDCOM have served researchers well, but they have limitations in the modern collaborative research environment. GENEALOGIX addresses these challenges with a fresh approach.\n\n### The Problem with Traditional Formats\n\n| Challenge | GEDCOM | GENEALOGIX |\n|-----------|--------|------------|\n| **Collaboration** | File sharing only | Git-native workflows |\n| **Evidence Tracking** | Basic source records | Complete evidence chains |\n| **Version Control** | Manual or difficult | Built-in Git integration |\n| **Human Readability** | Don't even try | Clear YAML structure |\n| **Validation** | Syntax only | Schema-based validation |\n| **Extensibility** | Limited | JSON Schema based |\n| **Data Portability** | Vendor lock-in | Open format you own |\n| **Interoperability** | GEDCOM export only | Import/export + Git workflows |\n| **Custom Types** | Fixed schema | Archive-defined vocabularies |\n\n### Visual Comparison\n\n**GEDCOM Format:**\n```\n0 @I1@ INDI\n1 NAME John /Smith/\n1 BIRT\n2 DATE 15 JAN 1850\n2 PLAC Leeds, Yorkshire, England\n2 SOUR @S1@\n3 QUAY 2\n```\n\n**GENEALOGIX Format:**\n```yaml\npersons:\n  person-john-smith:\n    properties:\n      name:\n        value: \"John Smith\"\n        fields:\n          given: \"John\"\n          surname: \"Smith\"\n      gender: \"male\"\n\nevents:\n  event-birth-john:\n    type: birth\n    date: \"1850-01-15\"\n    place: place-leeds\n    participants:\n      - person: person-john-smith\n        role: subject\n\nassertions:\n  assertion-john-birth:\n    subject:\n      event: event-birth-john\n    property: date\n    value: \"1850-01-15\"\n    citations: [citation-birth-cert]\n    confidence: high\n```\n\n\u003e **Learn More:** See [Core Concepts](/specification/2-core-concepts) for the complete assertion model and evidence chain explanation.\n\n### Beyond Exchange: A True Research Foundation\n\nGENEALOGIX is more than an import/export format. It's a **permanent foundation** for your research:\n\n#### Data You Own and Control\n- **Human-readable YAML** - Edit in any text editor, no special software required\n- **Open format** - No proprietary database, no vendor lock-in\n- **Portable forever** - Your data outlasts any software application\n- **Git-native** - Industry-standard version control built in\n\n#### Flexible to Your Research Domain\n- **Custom vocabularies** - Define your own event types, relationship types, properties\n- **Beyond genealogy** - Biography projects, local history, prosopography, and more\n- **Extensible schema** - Add custom fields without breaking compatibility\n- **No central registry** - Each archive is autonomous and self-contained\n\n#### Built for Collaboration\n- **Git workflows** - Branch, merge, and collaborate like software developers\n- **Evidence-first** - Every claim backed by documented sources\n- **Conflict resolution** - Handle competing evidence systematically\n- **Pull request reviews** - Quality assurance through peer review\n\n## What is GENEALOGIX?\n\nGENEALOGIX is an open standard for version-controlled family archives that provides:\n\n- **📚 Evidence-First Model**: Every claim backed by documented sources\n- **🔍 Quality Assessment**: Structured evaluation of evidence reliability (0-3 scale)\n- **🌳 Git-Native Architecture**: Full version control and collaboration support\n- **📋 Human-Readable Format**: Clear YAML files instead of binary formats\n- **✅ Schema Validation**: JSON Schema-based validation and error checking\n- **🔗 Complete Provenance**: Audit trail from repository to conclusion\n- **🎯 Repository-Owned Vocabularies**: Define custom types within each archive\n\n## Installation\n\nThe recommended way to install the `glx` CLI is to download the latest pre-compiled binary for your operating system from the [GitHub Releases](https://github.com/genealogix/glx/releases) page.\n\nAlternatively, developers can install from source:\n\n```bash\n# Install the glx CLI tool\ngo install github.com/genealogix/glx/glx@latest\n```\n\n## Quick Start\n\n```bash\n# Create a new genealogix repository in a new directory\nglx init my-family-archive\n\n# Or create a single-file archive\nglx init my-family-archive --single-file\n\n# Validate .glx files (checks cross-references and vocabularies)\ncd my-family-archive\nglx validate\n```\n\n## File Format\n\nAll GENEALOGIX files use the same structure:\n\n```yaml\n# Any .glx file\npersons:\n  person-a1b2c3d4:\n    properties:\n      name:\n        value: \"John Smith\"\n        fields:\n          given: \"John\"\n          surname: \"Smith\"\n      gender: \"male\"\n\nsources:\n  source-12345678:\n    title: \"Birth Certificate\"\n```\n\n**Key Points:**\n- Entity IDs are map keys: `person-john-smith` or `person-a1b2c3d4`\n- IDs can be descriptive or random (1-64 alphanumeric/hyphens)\n- Files can contain any combination of entity types\n- Parser collates all entities across all .glx files in repository\n- Controlled vocabularies define valid types in `vocabularies/` directory\n\n## Specification Status\n\nThis specification follows [Semantic Versioning](https://semver.org/).\n\n- **Draft**: Under active development, may change significantly\n- **Release Candidate**: Stable, final review before release\n- **Released**: Production-ready, changes discussed via GitHub issues and discussions\n\n## Community \u0026 Support\n\nGENEALOGIX is an open-source project that thrives on community participation:\n\n### 🐛 Issues \u0026 Bug Reports\n- [GitHub Issues](https://github.com/genealogix/glx/issues) - Report bugs and request features\n\n### 💬 Discussion \u0026 Q\u0026A\n- [GitHub Discussions](https://github.com/genealogix/glx/discussions) - Community conversations\n- [Discord Community](https://genealogix.io/discord) - Real-time chat and support\n- [Mailing List](https://groups.google.com/g/genealogix) - Email discussions\n\n### 📚 Documentation \u0026 Learning\n- [Quickstart Guide](/quickstart) - 5-minute getting started\n- [Best Practices](/guides/best-practices) - Recommended workflows\n- [Migration Guide](/guides/migration-from-gedcom) - Manual conversion guidance from GEDCOM\n- [Glossary](/specification/6-glossary) - Key terms and concepts\n\n### 🤝 Contributing\n- [Contributing Guide](/development/contributing) - How to contribute to the project\n- [Code of Conduct](/development/code-of-conduct) - Community standards\n\n### 🎯 Getting Help\n\n**For Users:**\n1. Start with the [Quickstart Guide](/quickstart)\n2. Explore [Complete Examples](/examples/complete-family/)\n3. Ask questions in [GitHub Discussions](https://github.com/genealogix/glx/discussions)\n\n**For Developers:**\n1. Read [CLAUDE.md](CLAUDE.md) for project context\n2. Review the [Contributing Guide](/development/contributing)\n3. Check [GitHub Issues](https://github.com/genealogix/glx/issues) and [Discussions](https://github.com/genealogix/glx/discussions)\n4. Follow [Best Practices](/guides/best-practices)\n\n### 📊 Project Status\n\n**Current Release:** v0.0.0-beta.10 (Beta)\n- ✅ 9 core entity types defined\n- ✅ JSON Schema validation\n- ✅ CLI tool with vocabulary-based validation\n- ✅ Repository-owned controlled vocabularies\n- ✅ Complete test suite\n- ✅ Comprehensive examples\n- 🔄 Community building and feedback\n- 📋 GitHub issues and discussions for major changes\n\n### 🙏 Acknowledgments\n\nGENEALOGIX builds on decades of genealogy research and the contributions of:\n- The genealogy community for identifying core requirements\n- Open-source projects like GEDCOM, Gramps, and FamilySearch\n- Contributors who help improve the specification\n- Researchers who provide real-world use cases\n\n---\n\n**Made with ❤️ for genealogists, by genealogists**\n\n[⭐ Star us on GitHub](https://github.com/genealogix/glx) • [🐛 Report Issues](https://github.com/genealogix/glx/issues) • [💬 Join Discussions](https://github.com/genealogix/glx/discussions)\n\n## License\n\nCopyright 2025 Oracynth, Inc.\n\nLicensed under the [Apache License, Version 2.0](https://github.com/genealogix/glx/blob/main/LICENSE) (the \"License\");\nyou may not use this project except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgenealogix%2Fglx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgenealogix%2Fglx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgenealogix%2Fglx/lists"}