///
Welcome to Aruuri! This guide will walk you through setting up your local development environment for the Aruuri platform, a transparent community funding platform aiming to transform giving through t
100 views
~100 views from guests
Guest views are estimated from total page views. These include anonymous visitors and users who weren't logged in when they viewed the page.
Welcome to Aruuri! This guide will walk you through setting up your local development environment for the Aruuri platform, a transparent community funding platform aiming to transform giving through trust, transparency, and measurable impact.
Aruuri is built as a monorepo powered by Turborepo↗ and pnpm↗, leveraging domain-driven design and functional programming patterns. For a comprehensive overview of the platform's vision and architecture, please refer to the [Aruuri Platform Overview] page and the docs/ARCHITECTURE.md guide.
Before you begin, ensure you have the following installed on your system:
22.0.0 or higher (LTS recommended).9.0.0 or higher.You can verify your Node.js and pnpm versions using:
If you need to install pnpm, you can do so via npm: npm install -g pnpm.
Follow these steps to get the Aruuri codebase on your local machine and install its dependencies:
Clone the repository:
Install dependencies: Aruuri uses pnpm workspaces for efficient dependency management across its monorepo.
The Aruuri platform utilizes a robust design system with tokens managed in the @aruuri/design-tokens package. These tokens must be built before starting the development server to ensure all styling is correctly applied.
Navigate to the packages/design-tokens directory and run the build script:
This command processes Figma variables into CSS variables and JavaScript constants, which are then consumed by other packages in the monorepo. For more details on the design token workflow, see docs/FIGMA_TOKENS.md.
All Aruuri sites, including local development, are temporarily protected by a password during early development. You need to set the SITE_PASSWORD environment variable.
You have two options for configuring environment variables:
Doppler is recommended for managing secrets and environment variables securely across different environments.
Install the Doppler CLI:
Login and setup:
Run commands with Doppler:
Once configured, Doppler will inject your environment variables when you run commands prefixed with doppler run --.
Alternatively, you can create a local .env.local file in the root of your workspace (aruuri/).
Create .env.local:
Replace your-secure-password-here with a password of your choice. This password will be required to access your local development server.
For production deployments, SITE_PASSWORD should be set in GitHub Secrets. Refer to docs/DEPLOYMENT.md for more details.
With all prerequisites and environment variables set, you can now start the development servers:
This command uses Turborepo to concurrently start development servers for all applications and packages in the monorepo. You should see output indicating that the following are running:
pnpm --filter @aruuri/web run storybook)When prompted, use the SITE_PASSWORD you configured to access the web app.
Here are some commonly used development scripts to help you get started:
pnpm run dev: Starts all development servers.pnpm run build: Builds all packages in the monorepo.pnpm run lint: Runs ESLint for code quality checks across all packages.pnpm run typecheck: Runs TypeScript checks for type safety.pnpm run test: Executes all test suites (unit, integration).pnpm run test:e2e: Runs Playwright end-to-end tests.For package-specific commands (e.g., to run Storybook only for the web app), use the --filter flag: pnpm --filter @aruuri/web run storybook.
To deepen your understanding of the Aruuri codebase and contribution process, explore these documentation resources: