Thank you for your interest in this project! Please contribute according to the following guidelines:
Please note we have a code of conduct, please follow it in all your interactions with the project.
Before setting up the development environment, we recommend reviewing our Repository Architecture documentation to understand how our packages are organized.
To set up a development environment, please follow these steps:
-
Clone the repo
git clone https://github.com/liam-hq/liam
-
Install npm package
corepack enable corepack prepare pnpm install
-
Set up environment variables
For maintainers (Vercel team members only):
First, link your local project to the Vercel project:
pnpm vercel:link
Follow the prompts to:
- Confirm setup for the current directory
- Select the "ROUTE06 Core" scope
- Link to the existing "liam-app" project
Once linked, you can pull the latest environment variables from Vercel:
pnpm vercel:env-pull
This will download the environment variables from Vercel and write them to the specified file. After updating environment variables on Vercel (through the dashboard or CLI), you'll need to run this command again to get the updated values.
Next, create a
.env.local
file at the root directory and set values for the following keys:OPENAI_API_KEY
TRIGGER_SECRET_KEY
For other contributors:
Copy the template environment file to create your local environment file:
cp .env.template .env
Then edit the
.env
file and fill in the necessary values for the environment variables you need for your development work.These environment variables provide access to Supabase, GitHub App, Trigger.dev, and other service credentials needed for development.
-
Development
pnpm dev
-
Open apps
package url @liam-hq/app http://localhost:3001 @liam-hq/cli http://localhost:5173 @liam-hq/docs http://localhost:3002
You've found a bug in the source code, a mistake in the documentation or maybe you'd like a new feature? Take a look at GitHub Discussions to see if it's already being discussed. You can help us by submitting an issue on GitHub. Before you create an issue, make sure to search the issue archive -- your issue may have already been addressed!
Please try to create bug reports that are:
- Reproducible. Include steps to reproduce the problem.
- Specific. Include as much detail as possible: which version, what environment, etc.
- Unique. Do not duplicate existing opened issues.
- Scoped to a Single Bug. One bug per report.
Even better: Submit a pull request with a fix or new feature!
- Search our repository for open or closed Pull Requests that relate to your submission. You don't want to duplicate effort.
- Fork the project
- Create your feature branch (
git switch -c feat/amazing_feature
) - Write a clear and concise changeset description
- If your changes include modifications to any packages within the
frontend/packages
directory:- Use
pnpm changeset
at the top level of this project.
- Use
- Write a clear and concise commit message using the emoji (e.g., ✨) itself, not the textual representation (e.g.,
:sparkles:
). A list of supported gitmojis can be found here. Examples:- ✨ Added a new feature to filter tables
- 🐛 Fixed a typo in the welcome message
- 📝 Updated README.md with new installation instructions
- Note: Changes to
@liam-hq/docs
package do not require changesets as it is listed in the ignore array in.changeset/config.json
. You will see a message from the changeset-bot titled "⚠️ No Changeset found" - this is the expected behavior and confirms that the ignore configuration is working correctly.
- If your changes include modifications to any packages within the
- Commit your changes (
git commit -m 'feat: add amazing_feature'
) - Push to the branch (
git push origin feat/amazing_feature
) - Open a Pull Request