Installation & Setup Guide
This guide outlines the steps required to set up the ChatKcal development environment from scratch.
๐ ๏ธ Prerequisites
Before you begin, ensure you have the following tools installed:
- Node.js & Bun: Lightning-fast package management. Install Guide.
- Python 3.12+ & uv: Python tool and script management. Install Guide.
- AWS CLI: Backend deployment and AppSync evaluation. Install Guide.
- AWS SAM CLI: Serverless backend building and deployment. Install Guide.
๐ One-Command Setup
We use Go Task to automate our workflow. Once you have bun and uv installed, you can bootstrap the entire project with a single command:
# Install the Task runner if you don't have it
uv tool install go-task-bin
# Run the project setup
task setup
What task setup does:
- Installs root Node.js dependencies (including
node-jqfor local AppSync evaluation). - Installs frontend dependencies.
- Ensures the Task runner and
pre-commithooks are installed and configured viauv.
๐ Project Structure
/appsync: JavaScript resolvers for AWS AppSync./frontend: React (Vite + Tailwind) application./graphql: GraphQL schema definitions./docs: Project documentation (this site)./scripts: Python and Shell utility scripts.
๐งช Verifying the Setup
To ensure everything is working correctly, run the full test suite:
This will run:
- Backend Tests: Vitest logic tests for resolvers.
- AppSync Evaluation: Verifies resolvers against the real AWS runtime engine.
- Frontend Tests: Component and utility tests.
๐ ๏ธ Common Commands
| Task | Command |
|---|---|
| Start Frontend | task dev |
| Serve Docs | task docs |
| Build Backend | sam build |
| Deploy to TEST | task deploy:test |
| Lint Everything | task lint |
๐ Environment Variables
The frontend requires specific environment variables to connect to AWS. These are stored in frontend/.env.
See the Multi-Environment Strategy for details on switching between TEST and PROD.