5.0 KiB
OmniGet Agent Instructions & Release Protocol
Welcome to OmniGet. This file serves as the definitive reference and operating manual for all AI agents working in this repository.
1. Project Architecture
- Desktop Framework: Tauri v2 (
src-tauri/) with Rust 1.97.0. - Frontend: SvelteKit / Svelte 5 (
src/) powered by Vite. - Embedded Plugins: Statically linked core plugins (
courses,telegram,convert) insrc-tauri/plugins/. - Public Website & Docs: GitHub Pages static suite served from repo root:
- Root landing page:
index.html. - Documentation suite:
docs/(docs/index.html,docs/changelog/,docs/installation/,docs/courses/,docs/opennami/,docs/mcp/,docs/troubleshooting/). - Companion Browser Extension:
browser-extension/chrome/.
- Root landing page:
2. Release Protocol & Mandatory Post-Release SOP
Important
NEVER skip writing the release notes, updating the landing page, or updating the documentation when cutting or preparing a release. The in-app changelog modal (
src/lib/stores/changelog-store.svelte.ts) fetches the GitHub release body directly fromhttps://api.github.com/repos/OpenSelena/omniget/releases/tags/v<VERSION>. Leaving release notes blank breaks the in-app user experience.
Standard Operating Procedure for Every Release:
-
Version Bump:
- Run:
pnpm version:set <major|minor|patch|X.Y.Z> - This automatically updates:
package.jsonsrc-tauri/Cargo.toml&src-tauri/Cargo.locksrc-tauri/tauri.conf.jsonsrc/lib/stores/changelog-store.svelte.tsindex.html(download links, version meta tags, CTA text)docs/*/index.html(sidebar version tags)SECURITY.md&.github/SECURITY.md(supported versions table)
- Run:
-
Documentation Updates:
docs/changelog/index.html:- Prepend the new release block
<article class="release-box" id="vX-Y-Z">above the previous release. - Demote the previous release tag pill to
<span class="sidebar-tag">. - Update the Table of Contents
<ul class="toc-list" id="tocList">to list the new version asvX.Y.Z (Latest Stable). - Update the search modal description.
- Prepend the new release block
docs/index.html:- Update the Section 10 Release card to feature the new version.
- Update the Quickstart release callout and User-Agent examples.
-
Git Commit & Tag:
- Format:
chore(release): bump version to vX.Y.Z, ... - Create annotated/signed tag:
git tag vX.Y.Z - Push:
git push origin main --tags
- Format:
-
GitHub Release Notes (MANDATORY):
- As soon as the GitHub release is published by the workflow (or manually):
- Compile comprehensive release notes detailing:
## What's New(categorized by feature area)## Fixes
- Update the release via GitHub CLI:
gh release edit vX.Y.Z --notes-file <notes.md> - Verify the notes with:
gh release view vX.Y.Z
-
Asset Name & Casing Verification:
- Check the exact asset filenames uploaded by Tauri (
gh release view vX.Y.Z --json assets). - Notice casing: e.g.
OmniGet_0.11.0_x64-setup.exe(capitalizedOmniGet) vsomniget_0.11.0_x64-portable.exe(lowercaseomniget). - Ensure
index.htmldownload buttons use the exact asset filenames.
- Check the exact asset filenames uploaded by Tauri (
3. Branch Strategy & Quality Gates
Branch Workflow
dev(Development & Staging): All feature development, refactoring, and bug fixes must be committed and pushed todevfirst.- Continuous Integration (CI) Gate: Pushing to
devautomatically triggers GitHub Actions (.github/workflows/ci.yml) to test across Linux, Windows, and macOS. main(Production / Stable): Code is never pushed directly tomain. Thedevbranch is only merged intomainafter all GitHub Actions CI checks have completed with a green checkmark (100% passing).
Local Pre-Commit Verification
Before pushing to dev:
pnpm test: Runs full Vitest suite (must pass 100%).node scripts/e2e_verify.mjs: Validates documentation suite routes, links, and accessibility.pnpm lint:ui <target>: Required whenever modifying Svelte routes, UI components, stylesheets,index.html, ordocs/— see .agents/skills/ui-lint/SKILL.md.
Agent skills
Issue tracker
GitHub Issues at OpenSelena/omniget via the gh CLI. See docs/agents/issue-tracker.md.
Triage labels
Canonical triage roles (needs-triage, needs-info, ready-for-agent, ready-for-human, wontfix). See docs/agents/triage-labels.md.
Domain docs
Single-context (GLOSSARY.md and docs/adr/). See docs/agents/domain.md.
Local Overrides & Session Protocol
If present, private developer environment overrides, local notes, or personal tool paths are read from AGENTS.local.md (git-ignored).
All agents and subagents must strictly adhere to the pre-task retrieval and post-task writeback protocols specified in AGENTS.local.md before concluding any task.