{"id":45193223,"url":"https://github.com/greynewell/schemaflux","last_synced_at":"2026-04-29T08:33:21.576Z","repository":{"id":293382320,"uuid":"983795505","full_name":"greynewell/schemaflux","owner":"greynewell","description":"Structured data compiler. Pass pipeline, pluggable backends.","archived":false,"fork":false,"pushed_at":"2026-02-17T21:32:26.000Z","size":251,"stargazers_count":12,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-20T14:48:07.308Z","etag":null,"topics":["build-tool","code-generation","compiler","compiler-design","data-compiler","data-transformation","frontmatter","golang","json-ld","markdown","mist-stack","pass-pipeline","schema","sitemap","ssg","static-site-generator","structured-data","taxonomy","yaml","zero-dependencies"],"latest_commit_sha":null,"homepage":"https://schemaflux.dev","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/greynewell.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-05-14T23:46:38.000Z","updated_at":"2026-02-17T21:32:29.000Z","dependencies_parsed_at":"2025-05-15T04:34:27.097Z","dependency_job_id":null,"html_url":"https://github.com/greynewell/schemaflux","commit_stats":null,"previous_names":["greynewell/schema-driven-astro-starter","greynewell/schemaflux"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/greynewell/schemaflux","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greynewell%2Fschemaflux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greynewell%2Fschemaflux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greynewell%2Fschemaflux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greynewell%2Fschemaflux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/greynewell","download_url":"https://codeload.github.com/greynewell/schemaflux/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greynewell%2Fschemaflux/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32417700,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T06:29:02.080Z","status":"ssl_error","status_checked_at":"2026-04-29T06:29:00.631Z","response_time":110,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["build-tool","code-generation","compiler","compiler-design","data-compiler","data-transformation","frontmatter","golang","json-ld","markdown","mist-stack","pass-pipeline","schema","sitemap","ssg","static-site-generator","structured-data","taxonomy","yaml","zero-dependencies"],"created_at":"2026-02-20T12:34:31.380Z","updated_at":"2026-04-29T08:33:21.572Z","avatar_url":"https://github.com/greynewell.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# schemaflux\n\nStructured data compiler. Part of the [MIST stack](https://github.com/greynewell/mist-go).\n\n[![Go](https://img.shields.io/badge/Go-1.25-00ADD8?logo=go\u0026logoColor=white)](https://go.dev)\n[![License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n[![Dependencies](https://img.shields.io/badge/Dependencies-0-brightgreen)](#)\n\n```\nmarkdown + frontmatter  -\u003e  frontend  -\u003e  12 passes  -\u003e  backend  -\u003e  output\n```\n\nZero external deps. Single static binary.\n\n## How it works\n\nEntities (structured data with fields, taxonomies, relationships) go in. A config defines the schema. Passes resolve slugs, sort, enrich, group, score relationships, validate. Backends emit output from the finalized IR.\n\n```\n1,997 entities -\u003e 2,328 pages in ~500ms\n```\n\n1. **Frontend** parses markdown + YAML frontmatter into IR\n2. **Passes** transform IR: slugs, sorting, enrichment, taxonomy grouping, related scoring, graph enrichment, content analysis, URL resolution, schema generation, validation\n3. **Backend** emits output. IR is immutable at this point.\n\nThe built-in HTML backend produces a complete static site: taxonomy pages, pagination, A-Z indices, search index, JSON-LD, Open Graph, sitemaps, RSS, `llms.txt`.\n\n## Install\n\n```bash\ngo install github.com/greynewell/schemaflux/cmd/schemaflux@latest\nschemaflux build --config schemaflux.yaml\n```\n\n## Config\n\n```yaml\nsite:\n  name: \"My Dataset\"\n  base_url: \"https://example.com\"\npaths:\n  content: \"./content\"\n  output: \"./output\"\n  templates: \"./templates\"\ntaxonomies:\n  - name: category\n    label: Categories\n    field: category\ntemplates:\n  entity: entity.html\n  homepage: index.html\n```\n\n## Architecture\n\n```\ncompiler.Compile(cfg)\n  -\u003e frontend.Parse()        # markdown + YAML -\u003e IR\n  -\u003e pass.Registry.RunAll()  # 12 ordered passes\n  -\u003e backend.Emit()          # IR -\u003e output\n\ninternal/\n  compiler/\n    frontend/    Parse structured data into IR\n    ir/          Program, ResolvedEntity, TaxonomyGroup\n    pass/        12 passes with declared dependencies\n    backend/     Pluggable output (html/ ships built-in)\n  config/        YAML config types\n  entity/        Untyped AST\n  markdown/      Markdown-to-HTML renderer\n  yaml/          YAML parser\n```\n\n## Badge\n\n[![Compiled with SchemaFlux](https://img.shields.io/badge/compiled%20with-SchemaFlux-5B7B5E)](https://schemaflux.dev)\n\n```markdown\n[![Compiled with SchemaFlux](https://img.shields.io/badge/compiled%20with-SchemaFlux-5B7B5E)](https://schemaflux.dev)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgreynewell%2Fschemaflux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgreynewell%2Fschemaflux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgreynewell%2Fschemaflux/lists"}