Link Search Menu Expand Document

Contributing

Contributions — new concepts, corrections, better explanations, features — are welcome. Most contributions are just editing Markdown in knowledge/.

Workflow

  1. Fork the repo and clone your fork.
    git clone https://github.com/<your-fork>/Bodhi.git
    cd Bodhi
    
  2. Branch.
    git checkout -b add-my-concept
    
  3. Make your change.
  4. Build & validate (this regenerates js/data.js and runs the integrity check):
    npm run build
    

    Commit the regenerated js/data.js along with your knowledge/ changes — they must stay in sync (the validator enforces this).

  5. Check it in the browser:
    npm start
    
  6. Open a PR with a short description of what you added/changed and why.

Quality bar

  • npm run validate must pass — 0 errors. It checks dangling edges, duplicate ids, missing fields, cluster/relation validity, and bundle↔data sync.
  • Cite a real source for every concept (paper, official blog, or docs).
  • Be current and accurate — verify claims against the source; prefer established techniques and clearly mark genuinely new ones.
  • Stay offline — no CDNs, external fonts, scripts, or icons. Quick check:
    grep -rn 'http' app.html css/style.css js/graph.js | grep -v 'w3.org/2000/svg'   # should be empty (landing links out by design)
    
  • Keep it balanced — a clean, accurate, well-connected graph matters more than raw size. Avoid orphan nodes; add 2–4 meaningful relations.

What makes a good concept PR

  • A tight one-line description and a clear detail paragraph.
  • Honest when_to_use guidance (when to pick this over the alternatives).
  • Correct, minimal relations to existing concepts using the right verb.
  • At least one real reference; an ## Example snippet when it helps.
  • The right cluster and level.

Attribution & licensing

Bodhi Map synthesizes publicly published research; credit for the underlying ideas belongs to the original authors, and every concept cites its source. By contributing, you agree your contributions are licensed under the project’s MIT License. If you add a source, make sure the citation is accurate — attribution is part of the quality bar.

Cutting a release

Maintainers: see Release Process for bumping the version and highlighting what’s new.