bucknatt_mitsu-plugin/CONTRIBUTING.md
bucknatt 9636bb8366 Clean up public repo: remove QA/debug tooling and personal paths.
Drop launch helpers, internal reports, and outdated release doc; add
CONTRIBUTING and generic RELEASE guide. Gitignore built main.js/styles.css;
sanitize docs to use placeholder vault paths.
2026-05-15 16:48:44 +02:00

58 lines
1.7 KiB
Markdown

# Contributing
Thanks for helping improve **Miku Hybrid**. This repo contains the community plugin source plus the theme CSS that is bundled at build time.
## Prerequisites
- [Node.js](https://nodejs.org/) 18+
- [Obsidian](https://obsidian.md/) for manual testing
## Setup
```bash
git clone https://github.com/bucknatt/mitsu-plugin.git
cd mitsu-plugin
npm install --prefix ./obsidian-miku-plugin
```
## Build
From the repository root:
```bash
npm run build --prefix ./obsidian-miku-plugin
npm run typecheck --prefix ./obsidian-miku-plugin
./qa/static-guards.sh
```
`npm run build` syncs root `manifest.json` / `versions.json` into `obsidian-miku-plugin/`, bundles TypeScript to `main.js`, and merges `obsidian-miku-theme/theme.css` into `styles.css`.
## Test in a vault (local install)
```bash
mkdir -p ./qa/vaults/example-vault
./qa/install-to-vault.sh ./qa/vaults/example-vault
```
Open that folder as a vault in Obsidian, then **Settings → Community plugins → Enable** **Miku Hybrid**.
Optional legacy split-theme test (CSS only in Appearance, not bundled):
```bash
MIKU_INSTALL_SPLIT_THEME=1 ./qa/install-to-vault.sh /path/to/your-vault
```
## Release
See [docs/RELEASE.md](docs/RELEASE.md) and [docs/COMMUNITY_SUBMISSION.md](docs/COMMUNITY_SUBMISSION.md).
Catalog metadata lives at the **repository root**: `manifest.json`, `versions.json`, `LICENSE`, `README.md`.
## Repository layout
| Path | Purpose |
|------|---------|
| `manifest.json` | Community directory manifest (source of truth) |
| `obsidian-miku-plugin/` | Plugin TypeScript, widget CSS, build scripts |
| `obsidian-miku-theme/` | Theme CSS source (merged into plugin `styles.css`) |
| `qa/` | Maintainer scripts (`install-to-vault.sh`, `static-guards.sh`) |