GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - appsome/ix

BranchesTags
Open more actions menu

Latest commit

 

History

31 Commits
31 Commits

Folders and files

NameName
Last commit message
Last commit date
cmd/ix
cmd/ix
 
 
docs
docs
 
 
examples/reference
examples/reference
 
 
internal
internal
 
 
registry
registry
 
 
runtime
runtime
 
 
templates/project
templates/project
 
 
.gitignore
.gitignore
 
 
README.md
README.md
 
 
embed.go
embed.go
 
 
go.mod
go.mod
 
 
go.sum
go.sum
 
 
go.work
go.work
 
 

Repository files navigation

ix

A schema-first, full-stack scaffolding framework. New projects start with the same pipeline wired up end to end:

schema.sql ─▶ Atlas migrations ─▶ sqlc (Go) ─▶ gqlgen (GraphQL) ─▶ chi
                                                      └─▶ Houdini ─▶ SvelteKit + shadcn-svelte

You own the generated code (shadcn-style vendoring), but ix keeps it upgradeable.

How it's distributed (hybrid model)

  • Runtime libraries (runtime/: authz, auth, middleware, pubsub, metric, util) ship as a versioned Go module you import and upgrade with go get -u github.com/appsome/ix/runtime@latest.
  • Everything else (codegen configs, server glue, infra, Helm, CI, the SvelteKit admin) is vendored into your repo by the ix CLI and upgraded in place via 3-way merge (ix upgrade).

See docs/DESIGN.md for the full design.

Layout

cmd/ix/        the CLI
internal/      CLI implementation + registry/manifest types
runtime/       imported Go module (own go.mod)
registry/      vendorable blocks (registry.json + blocks/<name>/)
templates/     base project scaffold for `ix init`
docs/          design + per-area docs

CLI

ix init [dir]        scaffold a new project
ix add <block>...    vendor blocks (e.g. ix add authz, ix add entity --name product)
ix list              list available / installed blocks
ix generate          run the codegen pipeline
ix migrate new <n>   create an Atlas migration
ix upgrade [block]   re-render + 3-way merge a block at its new version
ix diff [block]      preview an upgrade
ix doctor            verify toolchain + detect drift

Status

The framework works end-to-end:

  • The runtime module (util, metric, pubsub, auth, authz, middleware, jobs) builds, vets clean, and passes hermetic tests.
  • ix init scaffolds a runnable chi + gqlgen server, and ix add vendors blocks (rendering templates, applying anchor patches, recording .ix/baseline/ copies for future merges).
  • ix add entity --name product generates the sqlc queries, repository, GraphQL schema, and SvelteKit pages for an entity; ix generate produces the db bindings and resolver stubs.
  • ix diff / ix upgrade apply a line-based 3-way merge of upstream block changes against your edits, with the usual <<<<<<< conflict markers.
  • Infra blocks (docker, compose, helm, ci-github, ci-gitlab) and the admin-svelte frontend drop in with names derived from your module.

A runnable, offline-building reference example ties it together, and docs/porting.md covers adopting ix in an existing app.

About

No description, website, or topics provided.

Resources

Readme
Activity
Custom properties

Stars

0 stars

Watchers

0 watching

Forks

0 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.