Payroll & equity for everyone.
- Onboard contractors and employees with custom docs
- Manage regular and one-off invoices
- Process payments globally
- Offer and distribute equity as part of compensation
- Track team performance, updates and absences
- Handle tax compliance
- Integrate with other tools like QuickBooks Online
- Manage your cap table and send company updates to investors
- Docker for Desktop
- Ruby (version specified in
.ruby-version
) - Node.js (version specified in
.node-version
)
The easiest way to set up the development environment is to use the provided setup script:
bin/setup
This script will:
- Install Homebrew (if not already installed)
- Install RVM and the correct Ruby version
- Install PostgreSQL and create the development database
- Enable corepack and install pnpm dependencies
- Install Ruby gems with Bundler
- Install Foreman for process management
- Link your Vercel environment and pull environment variables
Copy .env.example
to .env
and fill in the values:
cp .env.example .env
Then edit .env
with your custom values.
Start the Docker services for local development:
# In one terminal tab
make local
# Use LOCAL_DETACHED=false make local if you prefer to run Docker services in the foreground
Set up the database (if running for the first time) and start the development server:
# In another terminal tab
rails db:setup # if running for the first time
bin/dev
Once the local services are up and running, the application will be available at https://flexile.dev
Use the credentials generated during db:setup
to log in.
To run the Helper widget locally, you'll also need to run the Helper app locally. By default, the development environment expects the Helper Next.js server to run on localhost:3010
. Currently, the Helper host is set to port 3000. You can update the port by modifying bin/dev
and apps/nextjs/webpack.sdk.cjs
inside the Helper project to use a different port, such as 3010.
You can update the HELPER_WIDGET_HOST
in your .env
file to point to a different host if needed.
The widget performs HMAC validation on the email to confirm it's coming from Gumroad. Update the helper_widget_secret
in the credentials to match the one used by Helper.
# Run Rails specs
bundle exec rspec # Run all specs
bundle exec rspec spec/system/roles/show_spec.rb:7 # Run a single spec
# Run Playwright end-to-end tests
pnpm playwright test
We welcome contributions to Flexile! Please read our Contributing Guide for information on how to get started, coding standards, and more.
Please note that this project adheres to a Code of Conduct. By participating in this project, you agree to abide by its terms.
Flexile is licensed under the Flexile Community License.