The public website for Metraly: a privacy-first, self-hosted Engineering Intelligence platform.
- Node.js 18.x or later
- npm 9.x or later
# Install dependencies from the lockfile
npm ci
# Start development server with hot reload
npm run devThe development server will be available at http://localhost:3000.
Run the full local preflight before opening a PR or deploying changes:
npm run ciThe npm run ci command runs:
npm run lint
npm run typecheck
npm run buildFor individual checks:
# Check website copy for forbidden product claims
npm run lint
# Run TypeScript without emitting files
npm run typecheck
# Create production build
npm run build
# Start production server after build
npm startThe npm run build command:
- Compiles TypeScript
- Bundles all pages and components
- Generates static optimization where possible
- Does not require backend services, secrets, or the
../metralyapp repository
The website is a static/public marketing and documentation surface. The current canonical local app preview lives in getmetraly/metraly:
git clone https://github.com/getmetraly/metraly.git
cd metraly
make upThen open:
http://localhost:3000
Preview login:
Email: admin@metraly.local
Password: admin123
make docker-up may remain available as a legacy compatibility alias, but public docs and website copy should prefer make up.
This project is configured for deployment on Vercel:
Push to your Git repository and import the project in the Vercel dashboard. The next.config.ts is already configured for Vercel deployment.
# Install Vercel CLI
npm i -g vercel
# Login to Vercel
vercel login
# Deploy to preview
vercel
# Deploy to production
vercel --prod- Build Command:
npm run build(automatic on Vercel) - Output Directory:
.next(managed by Next.js) - No Secrets Required: The build runs without environment variables
- Legacy Redirects: Old
.htmlURLs (index.html, pricing.html, etc.) redirect automatically to new App Router paths
app/
layout.tsx # Root layout with navigation/footer
page.tsx # Home page (/)
pricing/page.tsx # Pricing page (/pricing)
docs/page.tsx # Documentation page (/docs)
demo/page.tsx # Demo preview page (/demo)
privacy/page.tsx # Privacy policy (/privacy)
terms/page.tsx # Terms of service (/terms)
globals.css # Global styles
components/ # Reusable React components
next.config.ts # Next.js configuration with redirects
| Script | Description |
|---|---|
npm run dev |
Start development server |
npm run lint |
Check website copy for forbidden product claims |
npm run typecheck |
Run TypeScript without emitting files |
npm run build |
Create production build |
npm start |
Start production server after build |
npm run ci |
Run claims lint, TypeScript check, and production build |
This website source code is available under the AGPLv3 license. See getmetraly/docs for full licensing details.
- Product/docs truth:
getmetraly/docs - App/demo implementation truth:
getmetraly/metraly - Website implementation: this repository