Future AI is a Next.js 16 app for generating natal charts (Western astrology, whole sign houses, tropical zodiac). Users enter birth date, time, and location; the app calculates planetary positions and house cusps and renders a chart wheel plus a table of placements.
- Next.js 16 (App Router)
- React 19
- TypeScript
- Tailwind CSS 4
- clsx + tailwind-merge for class names
app/β App Router pages: home (page.tsx), chart (chart/page.tsx)components/β UI:home/(HeroSection),chart/(BirthDataForm, ChartResults, ChartWheel, PlanetTable, AscendantCard, CitySearch),ui/(Card, Button)hooks/βuseChartCalculation,useGeocodinglib/β Astro math:astro/(calculate, houses, planets, draw, format, types, constants, math),geocoding.ts,utils.ts
- Use
@/for imports (e.g.@/components/...,@/lib/...). - Chart math lives in
lib/astro/; keep calculations pure and typed. - Geocoding is used for place β lat/lon (CitySearch + useGeocoding).
make devornpm run devβ development servermake build/make startβ production build and runmake generateβprisma generate(client from schema)make migrateβprisma migrate deploy(apply migrations; needsDIRECT_URL/DATABASE_URL)make migrate-devβprisma migrate dev(local schema changes)make lintβ ESLintmake typecheckβ TypeScript checkmake testβ run tests (Vitest)make installβ install dependenciesmake cleanβ remove.nextandnode_modules
Astro coins / Stripe: balance and ledger live in Postgres (User.astroCoins, AstroCoinLedger); setup is in docs/STRIPE.md.
Husky runs lint-staged on commit; staged .ts/.tsx/.js/.jsx/.mjs files are linted with ESLint (with fix).