Giter Site home page Giter Site logo

verdverm / hof Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hofstadter-io/hof

0.0 1.0 0.0 6.94 MB

Framework that joins data models, schemas, code generation, and a task engine with CUE. Language and technology agnostic.

Home Page: https://docs.hofstadter.io

License: BSD 3-Clause "New" or "Revised" License

Shell 0.41% JavaScript 0.08% C++ 0.11% Python 0.43% Go 91.17% C# 0.10% Makefile 0.44% Dockerfile 0.02% CUE 7.25%

hof's Introduction

hof - the high code framework

hof is a tool that weaves together data models, code generation, and task engine with CUE. Enhance your workflow and automate repetitive development. Language and technology agnostic.

  1. data model - define & manage data models - the source of truth
  2. code generation - data + template = _ (anything) - technology agnostic
  3. app blueprints - bootstrap config and other files - consistent skaffolding
  4. task engine - composable, extendable tasks and workflows - a DAG engine
  5. modules - composable data models & generators - an ecosystem

how hof works

hof is a CLI tool you will add to your workflows. It is technology agnostic, captures common patterns and boilerplate, has modules that span technologies, and continues to work as your application evolves.

  • data model management so you can checkpoint, diff, and calculate migrations
  • code generation to scaffold consistent code and boilerplate across the stack
  • diff3 to support custom code, data model updates, and code regeneration
  • modular and composable code generators with dependency management

hof uses CUE extensively to power the DX and implementation.

Learn more about CUE: cuelang.org | cuetorials.com

Please see docs.hofstadter.io to learn more.

The getting-started section will take you on a tour of hof. The first-example section shows you how to build and use a generator.

Join us on Slack! https://hofstadter-io.slack.com We are more than happy to answer your questions.

Download hof just once. After that hof will prompt you to update and install new releases as they become available.

You can always find the latest version on our GitHub releases page or use hof to install a specific version of itself with hof update --version vX.Y.Z.

# Homebrew
brew install hofstadter-io/tap/hof

# Latest Release
go install github.com/hofstadter-io/hof/cmd/hof@latest

# Latest Commit
go install github.com/hofstadter-io/hof/cmd/hof@_dev

# Shell Completions (bash, zsh, fish, power-shell)
echo ". <(hof completion bash)" >> $HOME/.profile
source $HOME/.profile

# Show the help text
hof --help

Main Commands

hof

hof - the high code framework

  Learn more at https://docs.hofstadter.io

Usage:
  hof [flags] [command] [args]

Main commands:
  create                dynamic blueprints from any git repo
  datamodel             manage, diff, and migrate your data models
  gen                   modular and composable code gen: CUE & data + templates = _
  flow                  run CUE pipelines with the hof/flow DAG engine
  fmt                   format any code and manage the formatters
  mod                   CUE dependency management based on Go mods

Additional commands:
  help                  help about any command
  update                check for new versions and run self-updates
  version               print detailed version information
  completion            generate completion helpers for your terminal
  feedback              open an issue or discussion on GitHub

Flags:
  -h, --help             help for hof
      --inject-env       inject all ENV VARs as default tag vars
  -p, --package string   the Cue package context to use during execution
  -q, --quiet            turn off output and assume defaults at prompts
  -t, --tags strings     @tags() to be injected into CUE code
  -v, --verbosity int    set the verbosity of output

Use "hof [command] --help / -h" for more information about a command.

hof's People

Contributors

b4nst avatar dependabot[bot] avatar philipdexter avatar stavares843 avatar tmm1 avatar verdverm avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.