Twenty is a standalone web application with its own practical purpose: management of my open source projects. It's also a place where I can experiment with a new model for the development of [web] applications in Ruby. See Design for more info.
- Provides a command-line utility to start / stop a web server
- Connect / disconnect a project from the command line
- Designed to work offline
- Lightweight stack
- Easy to install, easy to use
- The server is powered by rack and puma:
- Accepts GraphQL requests at
/graphql
- Serves client (HTML, JS, CSS)
- Dependencies: Sequel, SQLite3, ruby-graphql
- Accepts GraphQL requests at
- The client is a statically compiled nanoc website:
- Dependencies: webpack, typescript, react
- The CLI controls the web server:
- Start / stop web server
- Run database migrations
- Run developer console
- Each component (server, client, cli) are separate packages in a monorepo
- Easy to distribute as a RubyGem
CLI
Usage: twenty COMMAND [OPTIONS]
Commands:
up Start the twenty web server
down Stop the twenty web server
connect Connect a project to twenty
disconnect Disconnect a project from twenty
migrate Migrate the database
console Start the twenty developer console
Twenty is distributed as a RubyGem:
$ gem install twenty
BSD Zero Clause.
See LICENSE