{"id":13466696,"url":"https://github.com/hofstadter-io/hof","last_synced_at":"2026-01-03T01:19:47.204Z","repository":{"id":39311659,"uuid":"238593012","full_name":"hofstadter-io/hof","owner":"hofstadter-io","description":"Framework that joins data models, schemas, code generation, and a task engine. Language and technology agnostic.","archived":false,"fork":false,"pushed_at":"2024-08-18T01:00:38.000Z","size":8853,"stargazers_count":519,"open_issues_count":70,"forks_count":36,"subscribers_count":11,"default_branch":"_dev","last_synced_at":"2024-10-29T20:32:48.899Z","etag":null,"topics":["code-generator","cue","cuelang","data-modeling","declarative-programming","hacktoberfest","hofstadter","llm","migrations-generator","tui","workflow-engine"],"latest_commit_sha":null,"homepage":"https://docs.hofstadter.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/hofstadter-io.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":"hofstadter","open_collective":"hofstadter","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2020-02-06T02:38:59.000Z","updated_at":"2024-10-29T05:47:23.000Z","dependencies_parsed_at":"2024-05-02T03:45:24.907Z","dependency_job_id":"4bc4a2fa-9e36-4c08-a67e-c8450a3a1521","html_url":"https://github.com/hofstadter-io/hof","commit_stats":null,"previous_names":[],"tags_count":145,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hofstadter-io%2Fhof","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hofstadter-io%2Fhof/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hofstadter-io%2Fhof/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hofstadter-io%2Fhof/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hofstadter-io","download_url":"https://codeload.github.com/hofstadter-io/hof/tar.gz/refs/heads/_dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245566098,"owners_count":20636390,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["code-generator","cue","cuelang","data-modeling","declarative-programming","hacktoberfest","hofstadter","llm","migrations-generator","tui","workflow-engine"],"created_at":"2024-07-31T15:00:48.895Z","updated_at":"2026-01-03T01:19:47.178Z","avatar_url":"https://github.com/hofstadter-io.png","language":"Go","funding_links":["https://patreon.com/hofstadter","https://opencollective.com/hofstadter"],"categories":["Go","tui","agents"],"sub_categories":[],"readme":"# hof - the higher order framework\n\nA tool that unifies data models, schemas, code generation, and a task engine.\n\n__`hof` is a CLI tool you *add* to your workflow.__\n\n- Augment data, config, and schemas with CUE to improve consistency, gain confidence, and unlock new possibilities\n- Generate multiple Yaml and JSON files in one-shot, from a CUE based source of truth\n- Generate much of the application code, work directly in the output, regenerate without loss\n- Explore data or config with the TUI, work with it using CUE in live-reload mode\n- Run workflows with automatic task dependency inference, the right tasks are run in the right order\n\n\n| Core Features | |\n|:---                    |:-- |\n| __code generation__    | Data + templates = _ (anything), technology agnostic |\n| __data modeling__      | Define, checkpoint, and diff data models |\n| __task engine__        | Extensible task and DAG workflow engine |\n| __CUE cmds__           | Core def, eval, export, and vet commands |\n| __creators__           | bootstraping and starter kits from any repo |\n| __modules__            | CUE module dependency management |\n| __tui__                | A terminal interface to Hof and CUE |\n| __chat__               | Combine LLM and Hof code gen for better, scalable results |\n\n\u003cbr\u003e\n\n`hof` uses [CUE](https://cuelang.org) to power the DX and implementation.\nWe believe CUE is a great language for specifying schemas, configuration, and generally\nfor writing anything declarative or this is a source of truth.\nIt has good theory and comes from the same people that brought us containers, Go, and Kubernetes.\n\n\u003c!-- something about osurce of thuth, unified abstraction later, interoperablility... --\u003e\n\nLearn more about CUE: [cuelang.org](https://cuelang.org) | [cuetorials.com](https://cuetorials.com)\n\n\n## Documentation\n\nPlease see __[docs.hofstadter.io](https://docs.hofstadter.io)__ to learn more.\n\nThe [getting-started](https://docs.hofstadter.io/getting-started/) section will take you on a tour of hof.\nThe [the-walkthrough](https://docs.hofstadter.io/the-walkthrough/) section shows you how to build and use a generator.\n\nJoin us or ask questions on\n\n- Discord (preferred): https://discord.com/invite/BXwX7n6B8w\n- Slack: [https://hofstadter-io.slack.com](https://join.slack.com/t/hofstadter-io/shared_invite/zt-e5f90lmq-u695eJur0zE~AG~njNlT1A)\n\nWe also use GitHub issues and discussions. Use which every is easiest for you!\n\n\n## Installation\n\nYou can find [the latest downloads on our GitHub releases page](https://github.com/hofstadter-io/hof/releases).\nThis is the preferred method.\n\nIf you already have hof, install a specific version with `hof update --version vX.Y.Z`.\n\n```shell\n# Homebrew\nbrew install hofstadter-io/tap/hof\n\n# Shell Completions (bash, zsh, fish, power-shell)\necho \". \u003c(hof completion bash)\" \u003e\u003e $HOME/.profile\nsource $HOME/.profile\n\n# Show the help text or version info to verify installation\nhof --help\nhof version\n```\n\n\n## Contributing \u0026 Community\n\nInterested in helping out or hanging out? The best ways to get started are\n\n1. [Joining the Community](https://docs.hofstadter.io/help-and-support/#community/)\n1. [The Contributing Guild](https://docs.hofstadter.io/contributing/)\n\n\n## Interfaces \n\nThere are two interfaces to `hof`\n\n1. a CLI - great for scripting and automation\n2. a TUI - great for exploring and designing\n\nA desktop version is in the works, reach out if you would like early access.\n\n### cli\n\n```\nhof - the higher order framework\n\n  Learn more at https://docs.hofstadter.io\n\nUsage:\n  hof [flags] [command] [args]\n\nMain commands:\n  chat                  co-create with AI (alpha)\n  create                starter kits or blueprints from any git repo\n  datamodel             manage, diff, and migrate your data models\n  def                   print consolidated CUE definitions\n  eval                  evaluate and print CUE configuration\n  export                output data in a standard format\n  flow                  run workflows and tasks powered by CUE\n  fmt                   format any code and manage the formatters\n  gen                   CUE powered code generation\n  mod                   CUE module dependency management\n  tui                   a terminal interface to Hof and CUE\n  vet                   validate data with CUE\n\nAdditional commands:\n  help                  help about any command\n  update                check for new versions and run self-updates\n  version               print detailed version information\n  completion            generate completion helpers for your terminal\n  feedback              open an issue or discussion on GitHub\n\nFlags:\n  -E, --all-errors           print all available errors\n  -h, --help                 help for hof\n  -i, --ignore-errors        turn off output and assume defaults at prompts\n  -D, --include-data         auto include all data files found with cue files\n  -V, --inject-env           inject all ENV VARs as default tag vars\n  -I, --input stringArray    extra data to unify into the root value\n  -p, --package string       the Cue package context to use during execution\n  -l, --path stringArray     CUE expression for single path component when placing data files\n  -q, --quiet                turn off output and assume defaults at prompts\n  -d, --schema stringArray   expression to select schema to apply to data files\n      --stats                print generator statistics\n  -0, --stdin-empty          A flag that ensure stdin is zero and does not block\n  -t, --tags stringArray     @tags() to be injected into CUE code\n  -v, --verbosity int        set the verbosity of output\n      --with-context         add extra context for data files, usable in the -l/path flag\n\nUse \"hof [command] --help / -h\" for more information about a command.\n```\n\n### tui\n\nThe `hof tui` is a terminal based interface to Hof's features.\nIt has a built in help system and documentation.\nThe following YouTube video provides a tour.\n\n\n[![Tour Hof's TUI](http://img.youtube.com/vi/XNBqBWO4y08/0.jpg)](http://www.youtube.com/watch?v=XNBqBWO4y08 \"Hof TUI Overview\")\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhofstadter-io%2Fhof","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhofstadter-io%2Fhof","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhofstadter-io%2Fhof/lists"}