wax
Version, currently main branch1 version
- main branchlatestAug 5, 2026
github.com/jgaskins/wax
Code generator for Crystal backend web apps and APIs
Installation
# Add this to your shard.yml
dependencies:
wax:
github: jgaskins/wax
branch: mainmain is a branch, not a release, so this tracks it rather than pinning a version.
Then run:
shards installshard.yml
- Crystal
>= 1.10.1- License
- MIT
- Author
- Jamie Gaskins
- Target
waxfrom src/cli.cr
- Executable
wax
Dependencies
Runtime Dependencies
- db*github: crystal-lang/crystal-db
- pg*github: will/crystal-pg
- redis*github: jgaskins/redis
- bcrypt*github: jgaskins/bcrypt
- dotenv*github: gdotdesign/cr-dotenv
- sentry*github: jgaskins/sentry, branch: multiple-runners
- interro*github: jgaskins/interro
- msgpack*github: crystal-community/msgpack-crystal
- armature*github: jgaskins/armature
- conveyor*github: jgaskins/conveyor
- anthropic*github: jgaskins/anthropic
Development Dependencies
- hot_topic*github: jgaskins/hot_topicdev
README
wax
Wax is an opinionated Crystal code generator for web applications and APIs. It provides conventions to follow to write your backend Crystal code more quickly using a few different Crystal shards:
- Armature for HTTP routing
- Interro for querying your Postgres database
- Conveyor for background jobs
- Redis as the backing store for caching, background jobs, and sessions
- Dotenv for loading configuration from .env files
Installation
-
Add the dependency to your
shard.yml:dependencies: wax: github: jgaskins/wax -
Run
shards installto installwaxand its dependencies
Usage
From your terminal:
bin/wax generate app YourAppName
Wax will generate all the files your app needs to get started for your app. You can also abbreviate generate as g:
bin/wax g app YourAppName
Generating
You can generate several kinds of files:
| Files | Command |
|-------|---------|
| App | bin/wax g app OnlineStore |
| Models | bin/wax g model Product id:uuid:pkey title:string description:string |
| Migration | bin/wax g migration add column products active:boolean |
| Routes | bin/wax g route Catalog |
| Components | bin/wax g component DatePicker |
Development
TODO: Write development instructions here
Contributing
- Fork it (https://github.com/jgaskins/wax/fork)
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request
Contributors
- Jamie Gaskins - creator and maintainer
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This branch
- Branch
main- Seen
- Aug 5, 2026
- Crystal
>= 1.10.1- Indexed
- yes
Dependents
No indexed shard depends on this one yet.
Repository
github.com/jgaskins/wax
Metadata
- Created
- Aug 12, 2026
- Updated
- Aug 15, 2026
- Synced
- Aug 15, 2026
- Versions
- 1