Skip to content

Repository files navigation

Gitvoice — Marketing Site

Next.js 15 TypeScript Tailwind CSS 4 Cloudflare Workers License: MIT

The public marketing site for Gitvoice — an open-source Cloudflare Worker that turns GitHub activity into clear, client-ready invoices.

Live: https://gitvoice.dev (static export, Cloudflare Workers assets) · Product: https://invoicer-pro.ideatorx.workers.dev/ · CLI: curl -fsSL https://invoicer-pro.ideatorx.workers.dev/agent-cli/gitvoice-agent.py -o gitvoice-agent.py


Repositories

Repo Purpose
Producthttps://github.com/idea-torx/gitvoice Worker, D1/R2/Browser Rendering, admin + portal, agent CLI
Marketing sitehttps://github.com/idea-torx/gitvoice-site This repo — static Next.js export
Production app https://invoicer-pro.ideatorx.workers.dev/

What the site communicates

  • GitHub-activity → invoice workflow (week / month / custom range)
  • Outcome-ranked summaries, timelines, highlights, and detailed activity logs
  • Hourly and flat-fee billing in one workspace; payment method printed on the invoice
  • Private operator workspace + password-protected client portal (PBKDF2, 7-day signed links, no accounts)
  • Zero-dependency agent CLI for Claude Code / Codex / OpenCode / Hermes / plain terminal
  • Fully open source, runs in your own Cloudflare account

Stack

Layer Choice
Framework Next.js 15 (App Router, output: "export")
Language TypeScript 5.8 (strict)
Styling Tailwind CSS 4 + prettier-plugin-tailwindcss
Auth / DB scaffold next-auth 5 (beta) + Prisma 6 + tRPC 11 (retained from T3, static page does not require DB at runtime)
Deploy Cloudflare Workers static assets (wrangler.jsoncout/)
Fonts Geist + Geist Mono + Space Grotesk (next/font/google)

Local development

npm install
npm run dev        # → http://localhost:3000  (Turbopack)

Production-style preview (static export):

npm run preview    # next build && next start
# or just:
npm run build      # writes `out/` for wrangler

Build & deploy

The site is a fully static export — no server, no DB needed at runtime. next.config.js: output: "export" writes out/, served via Workers assets.

npm install
npm run build      # → out/
npx wrangler deploy

wrangler.jsonc:

{
  "name": "gitvoice-site",
  "assets": { "directory": "./out", "html_handling": "auto-trailing-slash", "not_found_handling": "404-page" }
}

Keep .env*, .wrangler/, .next/, out/ gitignored. The deployment environment provides the Cloudflare account context (OAuth or CLOUDFLARE_API_TOKEN + CLOUDFLARE_ACCOUNT_ID). Custom domain gitvoice.dev is bound via Cloudflare dashboard — separate from this repo.

Verification

npm run build          # static export must succeed
npm run typecheck      # tsc --noEmit
npm run lint           # next lint
npm run format:check   # prettier
# or all at once:
npm run check          # lint + typecheck

CI should run build + typecheck + format:check on push/PR to main.

Project structure

src/
  app/
    page.tsx              # single landing page (story, steps, agent CLI, FAQ)
    layout.tsx            # metadata + fonts + ScrollFX + noscript fallback
    _components/          # site-nav, scroll-story, animated-stat, logo, marquee, etc.
    icon.svg              # favicon source
  styles/globals.css
  server/                 # auth/db/trpc scaffold (from T3, not used by static export)
public/favicon.ico
next.config.js            # output: "export"
wrangler.jsonc            # Workers assets config

Customization

  • Copy & tone lives in src/app/page.tsx (STORY, STEPS, AGENT_CAPABILITIES, FAQ_ITEMS, STATS).
  • Global styles in src/styles/globals.css.
  • Nav links in src/app/_components/site-nav.tsx.
  • Metadata / OG in src/app/layout.tsx (metadata + viewport).

Handoff notes

  • Both repos are public and contain no production credentials.
  • The product README (idea-torx/gitvoice) is the source of truth for Worker, D1/R2, Browser Rendering, agent CLI, onboarding, and portal docs.
  • This repo's job is only the marketing surface — keep it static, keep it fast.

Contributing

See CONTRIBUTING.md in the product repo for general guidelines. For this site: run npm run build && npm run typecheck && npm run format:check before opening a PR, and don't commit out/ or .wrangler/.

License

MIT — same as the product. See https://github.com/idea-torx/gitvoice/blob/main/LICENSE.

About

Marketing site for Gitvoice — open-source GitHub → invoice on Cloudflare Workers. Static Next.js export at gitvoice.dev

Topics

Resources

Code of conduct

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages