No description
Find a file
2024-02-09 21:44:36 -03:00
.bundle Add .bundle/config 2023-12-20 11:24:54 -03:00
lib twenty: add lib/twenty.rb 2023-12-27 10:05:55 -03:00
rakelib Add more efficient copying 2024-02-08 15:18:00 -03:00
twenty-backend No longer require bundle exec rake 2024-02-09 20:27:50 -03:00
twenty-cli No longer require bundle exec rake 2024-02-09 20:27:50 -03:00
twenty-frontend frontend: update webpack / tsconfig 2024-02-09 21:44:36 -03:00
.gitignore Add tooling for gem releases 2024-02-07 19:40:48 -03:00
.projectile Update .projectile 2024-02-09 19:57:53 -03:00
20.png readme: add 'Screenshots' section 2024-01-24 17:05:08 -03:00
Gemfile No longer require bundle exec rake 2024-02-09 20:27:50 -03:00
LICENSE Add twenty-frontend/ 2023-12-08 15:27:00 -03:00
Rakefile.rb No longer require bundle exec rake 2024-02-09 20:27:50 -03:00
README.md cli: add command alias (20) 2024-02-09 19:56:20 -03:00
twenty.rb.gemspec gemspec: replace git ls-files with Dir.glob 2024-02-08 15:18:00 -03:00
twenty.rb.gemspec.erb gemspec: replace git ls-files with Dir.glob 2024-02-08 15:18:00 -03:00

About

Twenty helps you manage your projects with a web application that runs on your computer.

Features

  • Provides a command-line utility to start / stop a web server.
  • Connect / disconnect a project from the command line.
  • Works offline. Binds to http://localhost:2020 by default.
  • Minimal: Ruby, and SQLite3 are the primary runtime dependencies.
  • Easy to install, easy to use.

Design

  • The server is powered by ruby/webrick:
    • Accepts GraphQL requests at /graphql.
    • Serves client (HTML, JS, CSS).
    • Dependencies: ActiveRecord, SQLite3, ruby-graphql.
  • 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.

Usage

The CLI is available as two identical executables:
$ 20, and $ twenty.

Usage: 20 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.

Screenshots

img

Install

$ gem install twenty.rb

License

BSD Zero Clause.
See LICENSE