Local Setup
How to run the full Neko Singa stack locally.
Prerequisites
- Node.js 18+
- npm or pnpm
- A Neon Postgres database
- An Upstash Redis instance
- An Elfa API key
Clone the Repos
git clone https://github.com/nekosinga/api
git clone https://github.com/nekosinga/appSetup api
cd api
npm install
cp .env.example .envFill in .env:
ELFA_API_KEY=your_elfa_key
DATABASE_URL=postgresql://...
UPSTASH_REDIS_REST_URL=https://...
UPSTASH_REDIS_REST_TOKEN=...
JWT_SECRET=your_secretThe api repo uses Kysely for type-safe SQL queries against Neon Postgres. Run migrations/seed scripts if present:
# if scripts/ contains seed or migration files
node scripts/seed.jsStart the dev server:
npm run dev
# → http://localhost:3000Setup app
cd app
npm install
cp .env.example .envThe app repo uses jsconfig.json (not TypeScript config) — path aliases are defined there, not in tsconfig.json.
Fill in .env.local:
NEXT_PUBLIC_API_URL=http://localhost:3000Start:
npm run dev
# → http://localhost:3001Skills Folder
Both api and app contain a skills/ folder — these hold Elfa skill definition files used to structure API capability mappings. They’re configuration, not runtime code, and don’t require separate setup.
CORS
When running locally, the app makes requests to api on a different port. Ensure the api dev server has CORS configured to allow http://localhost:3001.