Open Science
Contribute
Sansqrit is open science. Every block, every gate fix, every benchmark was built by people who needed it. Join us.
Every line of code โ Rust engine, JavaScript interpreter, Python tools, 639 blocks โ is MIT licensed. Fork it. Extend it. Build on it.
Why Contribute to Sansqrit?
Scientific Impact
Your block could be used by researchers across chemistry, drug discovery, biology, climate science, and materials design worldwide.
Quantum Access
Help make quantum computing accessible. Most scientists can't afford quantum cloud credits. Sansqrit runs locally, for free.
Rust Experience
Work on real-world Rust WASM code. The quantum engine is a perfect learning ground for high-performance scientific computing.
Publication-Ready
Sansqrit contributions count toward academic authorship. We maintain a contributors list and CITATION.cff for all papers.
Ways to Contribute
1. Add New Blocks
The most needed contributions. Each block needs:
- A block definition in
src/blocks/registry.js(or the extra files) - An interpreter handler in
src/dsl/interpreter.js - At least one test in
tests/test_dsl_advanced.js - Documentation in the blocks reference
Most wanted blocks (2024): Protein folding (AlphaFold integration), Quantum error mitigation (ZNE, PEC), Topological qubits (Majorana simulation), Quantum chemistry (NEVPT2, CASSCF), QGNN (Quantum Graph Neural Networks).
2. Fix Bugs
Check the GitHub Issues page. Filter by good-first-issue for beginner-friendly tasks. All quantum physics bugs require a failing test before the fix is accepted.
# Standard workflow for bug fixes:
git checkout -b fix/cnot-cross-shard-bug
# Write failing test first
node tests/test.js # confirm it fails
# Fix the bug
node tests/test.js # confirm it passes
git add -A && git commit -m "fix: cnot cross-shard edge case"
git push origin fix/cnot-cross-shard-bug
# Open pull request on GitHub
3. Write Documentation
Many blocks lack detailed parameter documentation. Good documentation contributions include:
- Worked examples with physical interpretation of results
- Comparison tables (Sanskrit DSL vs Qiskit vs Cirq)
- Tutorials for specific domains (drug discovery, climate modelling)
- Translations of the documentation into other languages
4. Run Benchmarks
We need benchmark data on diverse hardware. Run the benchmark suite and submit results:
node tests/benchmark.js --output results.json
# Submit results/results.json via GitHub PR to benchmarks/
Contribution Workflow
Click Fork on GitHub. Clone your fork:
git clone https://github.com/YOUR-USERNAME/sansqrit.gitgit checkout -b feature/my-new-block โ use descriptive names.All PRs require tests. Run
npm test โ must show 0 failures.PR template asks: what does this add? Does it have tests? Does it have docs?
Maintainers review within 48 hours. Physics correctness verified by at least one quantum computing expert.
Block Specification Format
// Every block follows this schema in registry.js:
{
id: "my_new_gate",
label: "My Gate",
category: "Quantum / Single-Qubit Gates",
description: "Rotates qubit by ฯ about the ลท axis",
icon: "โจฯโฉ",
params: [
{ name: "qubit", type: "number", default: 0, description: "Qubit index" },
{ name: "phi", type: "number", default: 1.5708, min: 0, max: 6.2832 },
],
inputs: [{ name: "register", type: "quantum" }],
outputs: [{ name: "register", type: "quantum" }],
// Sanskrit DSL code template:
codeTemplate: (p) => `MyGate($\{p.register\}[$\{p.qubit\}], $\{p.phi\})`,
// Interpreter handler in interpreter.js:
handler: (reg, qubit, phi) => reg.U3(qubit, phi, 0, 0),
}
Scientific Community
Sansqrit Visual Builder v3.1, MIT License, github.com/your-org/sansqrit. We welcome co-authorship for substantial scientific contributions.Join the Sansqrit community Discord for real-time discussion, help, and demos.
Longer discussions about architecture, new features, domain-specific block sets.
Every Tuesday 18:00 UTC โ contributors sync, demos, roadmap discussion.
OF QUANTUM COMPUTING
Together. Open. Available to every scientist on Earth.
Star on GitHub โ