Agent guide for the GitHub Weekly Reporter project.
A GitHub Action and CLI tool that generates weekly activity reports with AI-powered narratives, rendered as static HTML and deployed to GitHub Pages.
src/cli/- CLI commands (setup, daily-fetch, weekly-fetch, generate, render, deploy)src/collector/- GitHub API data collection (events, contributions, PRs)src/llm/- LLM provider integrations (OpenRouter, Groq, Gemini, OpenAI, Anthropic, Grok)src/renderer/- Handlebars templates and HTML renderingsrc/deployer/- GitHub Pages deployment and index page generationsrc/i18n/- Internationalization (10 languages)action.yml- GitHub Action composite definitiondocs/- User-facing documentation (manual-setup, cli-reference)
- TypeScript (ESM,
"type": "module") - Commander.js for CLI
- Handlebars for HTML templates
- OpenAI SDK (used for OpenAI-compatible providers: OpenRouter, Groq, Grok)
- Vitest for testing
- ESLint for linting
- Node.js 24+
npm run build # compile TypeScript
npm run lint # lint
npm test # run tests
npm run build && npm test # full checkReleases are triggered via the Publish workflow (Actions > Publish > Run workflow).
- Select bump type:
patch,minor, ormajor - Workflow runs lint, test, then publishes to npm
- Automatically creates git tag and GitHub Release with generated notes
- Run
npm run build && npm run lint && npm testbefore committing. - Keep all 6 LLM providers consistent (types.ts, llm/index.ts, providers/, generate.ts, action.yml, docs).
- OpenRouter should be listed first in all user-facing provider lists.
- Do not hardcode model names in code or docs (models change frequently).
- Workflows are split into
daily-fetch.ymlandweekly-report.yml. GITHUB_TOKEN(automatic) is not sufficient for data collection. UseGH_PAT(user's PAT).- LLM content is required for report rendering, not optional.
- Support both classic and fine-grained PATs.
- Keep README concise. Detailed docs go in
docs/.
deariary/frontend- user applicationdeariary/backend- API and batch servicesdeariary/docs- specs and operational docs