Thank you for your interest in contributing to Universal Academic Oracle.
This project is built around a simple goal: help people learn through reasoning, feedback, and progressive guidance instead of answer dumping.
Contributions that improve clarity, rigor, usability, and learning quality are especially valuable.
Before contributing, please review:
- README.md for the product vision and local setup
- CODE_OF_CONDUCT.md before participating
- Open issues or discussions before starting large or structural changes
If your change affects learning flow, prompting, orchestration, routing, security, or educational behavior, please describe the expected impact clearly before opening a pull request.
Contributions are welcome in areas such as:
- Bug fixes
- UI and accessibility improvements
- Documentation improvements
- Learning flow and educational UX refinement
- Reliability improvements in public-facing integration layers
- Tests, verification steps, and reproducibility improvements
- Clear and reproducible issue reports
- Node.js 18 or newer
- A Supabase project for supported public-facing integrations and auth
npm installCreate a local environment file using the public values described in the README:
VITE_SUPABASE_URL=YOUR_SUPABASE_URL
VITE_SUPABASE_ANON_KEY=YOUR_SUPABASE_ANON_KEY
VITE_JIGSAWSTACK_KEY=YOUR_JIGSAWSTACK_API_KEY- Do not commit secrets
- Do not reintroduce direct client-side AI provider keys
- Do not expose protected backend logic or deployment-sensitive configuration
- Some production backend infrastructure and orchestration components are intentionally excluded from this public repository
npm run devnpm run buildnpm run previewsrc/contains the React + TypeScript applicationsrc/components/contains reusable UI and view logicsrc/pages/contains route-level or document-style experiences where applicablesrc/services/contains service integrations, orchestration-related logic, and helpers
Some backend and infrastructure components are intentionally not included in the public repository.
This includes selected production-sensitive configuration, orchestration internals, and protected implementation details.
public/contains public assets and metadata files
This repository uses a mixed-license structure.
Some files are intentionally excluded from the Apache-2.0 license and remain All Rights Reserved.
Please review:
Please do not submit pull requests that:
- copy excluded or protected files into other locations
- repackage proprietary logic for easier extraction
- remove ownership, attribution, or legal notices
- attempt to bypass project licensing or branding boundaries
Please preserve the core behavior of Universal Academic Oracle:
- Prefer guided learning over instant answers
- Reduce friction without reducing rigor
- Keep the interface calm, readable, and responsive
- Favor secure backend orchestration over exposed client logic
- Support reasoning, retention, and educational integrity
- Use TypeScript consistently
- Keep components focused and readable
- Reuse existing patterns before introducing new abstractions
- Avoid unnecessary dependencies
- Prefer small, targeted changes over broad rewrites unless discussed first
For interface updates:
- Maintain responsiveness across desktop and mobile
- Avoid breaking dark/light mode behavior
- Keep accessibility in mind for contrast, keyboard use, and readable structure
- Make sure educational flow remains clear and non-disruptive
For backend-adjacent and security-related work:
- Never expose secret keys in the client
- Validate and sanitize inputs where appropriate
- Preserve abuse-prevention and safety-related behavior
- Document any public-facing setup or environment changes when relevant
- Fork the repository and create a branch
- Make focused changes with clear commit messages
- Run the app locally and verify the affected flows
- Update documentation when behavior or setup changes
- Open a pull request with a clear summary
Before opening a PR, please confirm:
- The change has a clear purpose
- The app runs locally
npm run buildcompletes successfully- Related documentation was updated if needed
- No secrets or local credentials were committed
- UI changes were checked on more than one screen size
- Any public-facing setup changes were documented
This repository may not always include a complete automated test suite for every area.
Until broader automated coverage is added, please include manual verification notes in your PR where relevant, such as:
- What you changed
- What pages or flows you tested
- Any environment assumptions
- Screenshots or short recordings for UI changes when useful
If you add automated tests, keep them:
- scoped
- maintainable
- documented
Good pull requests are:
- Small enough to review
- Clear about user impact
- Honest about tradeoffs and known limitations
- Linked to an issue when applicable
A helpful PR description usually includes:
- Summary of the change
- Why it is needed
- How it was verified
- Any follow-up work
Documentation improvements are welcome, especially when they:
- Clarify setup steps
- Explain architecture decisions
- Improve onboarding for new contributors
- Reduce ambiguity around public integration layers or repository boundaries
Submitting a pull request does not guarantee that it will be merged.
Changes may be accepted, declined, or requested for revision based on:
- product direction
- educational quality
- maintainability
- security
- licensing boundaries
- architecture consistency
Substantial contributions may be recognized in AUTHORS.md with contributor consent.
For conduct-related concerns, use the contact listed in CODE_OF_CONDUCT.md.
For project-related changes, open an issue or pull request with enough context for review.