api/- Rails API backendextension/- Chrome extension (injects + plays sounds)ui/- React TypeScript frontend for Website
- Ruby 3.4.4 (asdf)
- Node.js
- Docker
cd api && bundle install
cd ui && pnpm install
cd extension && pnpm install- There should be environment variables at the top of each repository (
api/.env,ui/.env,services/.envandextension/.env) - There are
.env.examplefiles in each of the directories to copy. Forapi/.env, contents are in 1Password.
Check if you have the pre-commit package installed on your machine with pre-commit --version. If the package is not installed, run the following commands:
brew install pre-commit
pre-commit --versionOnce the package is installed, install the .pre-commit-config.yaml hook into the .git/hooks directory by running pre-commit install
To set up the API and the database, first ensure you have Docker installed on your machine by referring to the following documentation depending on operating system:
Once Docker is installed run the following Makefile commands to set up and start the local development environment:
make dev-build
make start-apicd ui && pnpm run dev
cd extension && pnpm run dev- Go to
chrome://extensions/ - Enable developer mode in the top right
- Click Load unpacked in the top left
- Choose the folder that
pnpm run devtold you to (likely.output/chrome-mv3-dev)
- Make sure to update the version in
wxt.config.ts, roughly following Major.Minor.Patch. The newly uploaded package must be a higher version than the last. - Run
pnpm run build -- --mode production - This creates the extension with the
.env.productionvariables - connecting it to the production website and api. - Load unpacked or upload to Chrome Web Store (folder is likely
.output/chrome-mv3)
Staging: https://staging.parakeet.vigetx.com
Production: https://parakeet.vigetx.com
Direct server access is available over SSH:
ssh deploy@3.218.132.243