A script creates the repo (if it doesn’t exist) and pushes main for you.
-
Create a Personal Access Token (PAT)
- Go to GitHub → Settings → Developer settings → Personal access tokens.
- “Generate new token (classic)”, name it e.g.
iCyberNinjitsu push, enable scope repo. - Copy the token (starts with
ghp_).
-
Add the token locally (never commit it)
In the repo root, create a file named.env.githubwith one line:GITHUB_TOKEN=ghp_your_pasted_token_here
(The file is in
.gitignoreand will not be committed.) -
Run the script (from repo root):
npm run github:push
Or with custom owner/repo:
node --import tsx scripts/github-create-and-push.ts <owner> <repo>.The script will create
https://github.com/ankityadavv2014/iCyberNinjitsuif it doesn’t exist and push your code. You can revoke the PAT after pushing if you prefer.
Vercel is recommended for the Next.js app (fast, free tier, automatic previews).
- Go to vercel.com and sign in with GitHub.
- Import your repo:
ankityadavv2014/iCyberNinjitsu. - Root Directory: set to
apps/web(so Vercel builds the Next.js app). - Framework Preset: Next.js (auto-detected).
- Environment variables (add in Vercel project → Settings → Environment Variables):
NEXT_PUBLIC_API_URL= your backend API URL (see step 3 below).
For local backend:http://localhost:4000. For production, use your API host URL (e.g.https://your-api.railway.app).
- Deploy. Vercel will run
npm installandnpm run buildinsideapps/web.
Your app will be live at https://your-project.vercel.app. The dashboard will call the API from NEXT_PUBLIC_API_URL; if the API is not deployed yet, set it later and redeploy.
The web app needs the API running somewhere. Optionally you run the worker (ingest/generate/publish) and need Postgres and Redis.
Options:
| Service | Use case |
|---|---|
| Railway | Easiest: one project for API + Worker + Postgres + Redis. Connect repo, add services, set env vars. |
| Render | Free tier: deploy API as Web Service; add Postgres and Redis; worker as Background Worker. |
| Fly.io | Deploy API and worker as apps; use Upstash Redis and Neon/Supabase Postgres. |
Required env for API (and worker):
DATABASE_URL, REDIS_URL, ENCRYPTION_KEY, and optionally ANTHROPIC_API_KEY, LinkedIn OAuth vars. See root .env.example.
After the API is deployed, set NEXT_PUBLIC_API_URL in Vercel to that URL and redeploy the frontend.
| What | Where |
|---|---|
| Code | GitHub: https://github.com/ankityadavv2014/<repo-name> |
| Frontend | Vercel (root directory: apps/web), env: NEXT_PUBLIC_API_URL |
| API + Worker + DB | Railway / Render / Fly.io (or similar); then point Vercel at the API URL |