Skip to content

tact-app/web

Tact.web

🖥️ Tact.web

Web version for desktops.

Quick Start

Requirements:

$ alias run=./Taskfile
$ run setup
$ run wait-for-it -q -w localhost:3000 -- open http://localhost:3000/ &
$ run start # or `run dev`

Manage secrets

You can update tokens by the following commands

$ run set_auth0
$ run set_fontawesome_token
$ run set_github_token
$ run set_graphite_token
$ run set_sentry_token
$ run set_vercel_token

Deep dive

Local development

You could use a local environment, but it's not deterministic

$ npm ci --ignore-scripts --include=dev
$ npm run dev
$ npm run build
$ npm run start

$ run wait-for-it -q -w localhost:3000 -- open http://localhost:3000/ &
$ npm run start

Local development with the Docker

You could use Docker CLI to build a deterministic environment

$ run install [--from-scratch]
$ run dev
$ run build [--from-scratch]
$ run start [--from-scratch]

$ run wait-for-it -q -w localhost:3000 -- open http://localhost:3000/ &
$ run start

$ run npm ci --ignore-scripts --include=dev
$ run npm ...

Local development inside the Docker

You could use Docker CLI to build an isolated environment

$ run build docker [--from-scratch]
$ run start docker [--from-scratch]

$ run wait-for-it -q -w localhost:3000 -- open http://localhost:3000/ &
$ run start docker

Tools

Update

$ run refresh

Installation

$ run tools install

GitHub CLI

Useful: docs, src.

$ run gh help
$ run @workflows

Graphite CLI

Useful: docs, src.

$ run gt --help

Sentry CLI

Useful: docs, src.

$ run sentry --help

Vercel CLI

Useful: docs, src.

$ run vercel help
$ run @deployments clean

You can avoid using the token parameter when working with these commands, it's substituted automatically under the hood.

Manual deployment

$ run deploy
$ run deploy prod

Tips and tricks

Vercel shows inconsistent state of dependencies

You can drop Vercel's cache by running:

$ run vercel --force

Font Awesome has failed builds after version update

Check fontawesome-common-types, it must be exactly one.

$ npm list | grep fortawesome
# if not, do the following
$ npm update

See, the issue.

License

GNU Affero General Public License v3.0 or later. See LICENSE to see the full text.

We use CLA assistant to sign copyright agreements while contributing. See CLA to see the full text.

made with ❤️ for everyone by OctoLab