Thanks for your interest in improving EarthViewNews! This is a small, focused project, so contributions of any size — bug reports, docs, or code — are welcome.
git clone https://github.com/phuocphn/EarthViewNews.git
cd EarthViewNews
npm install
cp .env.example .env # DEEPSEEK_API_KEY is optional; the globe runs without it
npm run devSee the README for what npm run dev starts and how
the app behaves with and without an API key.
- Report a bug — open an issue using the Bug report template.
- Suggest a feature — open an issue using the Feature request template.
- Send a pull request — for anything from a typo to a new feature.
For larger changes, please open an issue first so we can agree on the approach before you invest time in the code.
- Fork the repo and create a branch off
main(e.g.feat/sidebar-filterorfix/tour-arrival). - Make your change, keeping it small and surgical — see the coding
guidelines in
CLAUDE.md. In short: minimum code that solves the problem, match the surrounding style, and don't refactor unrelated code. - Verify locally:
npm run typecheck # tsc --noEmit npm test # vitest
- Open a pull request against
mainand fill in the PR template. Describe what changed and how you verified it; add screenshots or a recording for UI changes.
- TypeScript, React, and
globe.glon the frontend; a small Node backend. - Prefer clear names and short functions over cleverness.
- Keep the domain vocabulary consistent with
CONTEXT.md(Story, Tour, Reveal, Scope, …). - No new dependencies without a good reason.
Please do not open a public issue for security problems. Instead, email the maintainer at phuocphn@gmail.com.
By contributing, you agree that your contributions will be licensed under the MIT License.