node.js>=22andpnpmuvinstallation
Tip
Recommended to use uv to install python and manage virtual environment for morph.
docs: include both references and exploration notes for morph
crates: contains all UI related for the editors
packages: JS version of the editor.
python: include all ML-related models
scripts: infra stuff for general tooling
.github: All CI-related lives here.
uv for python management (both python venv) ruff for python linting mypy for type checking quartz for knowledge management
curl -LsSf https://astral.sh/uv/install.sh | sh
uv venv -p 3.11
source .venv/bin/activateWe will use CalVer for service versioning
Using pnpm and preact with vite as bundler
For building docs do the following (first time):
pnpm run docs:buildAll consequent run can be used with:
pnpm run docs:serveRecommended to use Obsidian for editing docs.
Tip
For updating dates, use the date field in the frontmatter.
For citation in markdown the syntax follows rehype-citations
example references
See https://github.com/linozen/exocortex/blob/v4/content/refs/luhrmann2019.md?plain=1 for examples.
For updating author, change the frontmatter to use author: <github-id>[,<github-id>]
To add references, make sure to add marker [^ref] somewhere in the given file. See example
git config --local blame.ignoreRevsFile .git-blame-ignore-revsIf you work on CI, make sure to run this command after (requires docker and fd, or you can use find equivalent):
fd -Hg "*.yml" .github --exec-batch docker run --rm -v "${PWD}":"${PWD}" -w "${PWD}" -e RATCHET_EXP_KEEP_NEWLINES=true ghcr.io/sethvargo/ratchet:0 updatePush changes to your fork and follow this article on how to create a pull request on GitHub. Name your pull request with one of the following prefixes, e.g. "feat: add support for PyTorch". This is based on the Conventional Commits specification
- feat: (new feature for the user, not a new feature for build script)
- fix: (bug fix for the user, not a fix to a build script)
- docs: (changes to the documentation)
- style: (formatting, missing semicolons, etc; no production code change)
- refactor: (refactoring production code, eg. renaming a variable)
- perf: (code changes that improve performance)
- test: (adding missing tests, refactoring tests; no production code change)
- chore: (updating grunt tasks etc; no production code change)
- build: (changes that affect the build system or external dependencies)
- ci: (changes to configuration files and scripts)
- revert: (reverts a previous commit)
Once your pull request is created, maintainers will be notified and tests would also be run. Once tests are passed and a reviewer has signed off, we will merge your pull request.