Thank you for your interest in contributing.
This file is the contribution guide for this repository (dripnex/app). Plugins and themes belong in their own git repos — see below.
Dripnex uses an open-core model, as documented in LICENSE.
The MIT packages listed in LICENSE. In this tree that includes:
| Path | Role |
|---|---|
packages/core |
Domain logic, markdown parsing |
packages/storage-core |
Storage interfaces |
packages/storage-sqlite |
SQLite adapter |
packages/wikilinks |
Wikilink parsing |
packages/commands |
Command palette logic |
packages/embeds |
Embed handling |
packages/plugin-api |
Plugin API and theme system |
packages/product-config |
Product configuration |
LICENSE also names packages/tasks/; that directory is not in the tree today.
apps/desktop— desktop applicationpackages/licensing— license validation
LICENSE also names apps/marketing-site/; marketing lives in a separate repo, not this monorepo.
Do not add community plugins or themes to this monorepo.
Official packs are their own GitHub repositories under github.com/dripnex:
- Plugins:
plugin-*(for example plugin-vim) - Themes:
theme-*(for example theme-parchment)
To scaffold a local pack from this repo:
pnpm plugin init "My Plugin"
pnpm plugin init "Paper" --type themeSee docs/plugins/ and docs/PLUGIN_SYSTEM.md.
git clone https://github.com/YOUR_USERNAME/app.git
cd app
pnpm installRequirements: Node.js >= 20 and pnpm >= 9 (root package.json).
git checkout develop
git pull origin develop
git checkout -b feat/your-feature
# or
git checkout -b fix/your-bugfixThe default branch is develop. Do not branch from main for product work.
- Follow existing code style
- Add tests for new functionality in MIT packages
- Run
pnpm testandpnpm typecheckbefore committing
pnpm test excludes @dripnex/storage-sqlite (native module / Electron vs Node). That is expected.
Use conventional commits:
feat: add new feature
fix: resolve bug
docs: update documentation
test: add tests
refactor: code cleanup
chore: maintenance
- Target
develop, notmain - Describe the change and link related issues
- Use the PR template
main is for production releases only.
pnpm install # Install dependencies
pnpm dev # Turbo `dev` (desktop + any other package `dev` scripts)
pnpm --filter @dripnex/desktop dev # Desktop app only
pnpm test # Tests (excludes storage-sqlite)
pnpm typecheck # TypeScript
pnpm lint # ESLint
pnpm format # Prettier
pnpm build # Build all packagesMore context: README.md.
See CODE_OF_CONDUCT.md.
- Check existing issues before opening a new one
- Security reports: SECURITY.md (do not file a public issue)
By contributing to the MIT packages, you agree that your contributions are licensed under the MIT License, as stated in LICENSE.