Open Source
Help us build the most beautiful interactive physics library. Whether it's a new concept, a bug fix, or a better explanation, your contribution matters.
The most common way to contribute is by adding a new interactive concept page. Follow these steps to get started:
Clone the repository and start a local server. No complex build tools or bundlers are required—it's just pure HTML/JS.
git clone https://github.com/CasberryIndia/Physics-Notebook.git
cd Physics-Notebook
python3 -m http.server 8000 # or npx http-server
Create a new file in Concepts/ (e.g., doppler-effect.html). Use our
structure:
BaseVisual for the
canvas animation.Add your new concept to the DATA array within index.html so it appears on
the home page grid.
{
id: 'doppler',
title: 'Doppler Effect',
domain: 'Waves',
desc: 'Change in frequency based on relative motion.',
href: 'Concepts/doppler-effect.html',
type: 'doppler' // You'll adding a new visual class in index.html for the card preview
}
Before submitting your Pull Request, ensure your contribution meets these standards:
CONCEPT_PATTERN.md template.
Have an AI agent create a new concept page for you — fully automatically. Clone the repo, point your AI assistant to the runbook, and it will research, code, verify, and register the new concept from start to finish.
Get the project running locally. No build step needed — it's plain HTML & JS.
git clone https://github.com/CasberryIndia/Physics-Notebook.git
cd Physics-Notebook
python3 -m http.server 8000
Open the runbook in your AI coding assistant (Antigravity, Claude, Copilot, Cursor, etc.) and give it this prompt. The agent reads the checklist, searches the web for accuracy, generates the concept page, registers it, and runs verification checks.
Please read CREATE_CONCEPT.md and add the next unchecked concept from CONCEPTS_CHECKLIST.md to the Physics Notebook. Follow every instruction in the runbook exactly.
Alternatively, run the automation script. With a Gemini API key it operates fully autonomously — without one, it prints a ready-to-paste prompt for your AI assistant.
# Without API key — prints the prompt for you:
python3 scripts/add_concept.py
# With Gemini API key — runs end-to-end autonomously:
export GEMINI_API_KEY="your_key_here"
python3 scripts/add_concept.py
The agent will run accessibility checks automatically. Review the generated concept page in your browser at http://localhost:8000, then open a Pull Request.
git add .
git commit -m "feat: add [Concept Name] concept page"
git push origin your-branch
Step-by-step instructions for AI agents in CREATE_CONCEPT.md
Python script that handles everything: scripts/add_concept.py
Track what's been done and what's next: CONCEPTS_CHECKLIST.md
The canonical HTML structure all pages must follow: CONCEPT_PATTERN.md
Ready to submit your changes?
Make a Pull Request