image-gin
Generate, search, and place AI images without leaving Obsidian.
A pseudomonorepo of Obsidian plugins · The Lossless Group
Nine Obsidian plugins, one vault, working in chorus. AI-assisted drafting, citations, image generation, search-augmented enhancement, and the connective tissue to keep them all in step.
We invite contributors and idea-generators and complainers. At this point, we're vibe-coding (agentic-engineering) all this, too. Submit ideas or look for contributions to make on our project board or make discussions, reach out!
What's growing
Each plugin is its own repo, included here as a git submodule. Cards link to the source.
Cards with the
Community Plugin pill are live in Obsidian's directory — install them from
inside Obsidian via Settings → Community Plugins → Browse. The others are
either dev-only (run from a symlinked checkout) or submitted-but-not-yet-accepted.
Standing on shoulders
Vendored as study references — community plugins that informed how the farm's plugins are shaped. Cards link to the upstream source.
Why this exists
Not a monorepo. Not loose repos. A parent that hosts cross-cutting context so the plugins stay aware of each other.
Obsidian is where the drafts live. Tooling that asks you to leave the editor loses the moment. Every plugin here lands inside the vault, inside the modal, inside the flow.
A unified wide-modal pattern across plugins. Same header, same submit gesture (Cmd/Ctrl+Enter), same temperature slider when temperature is a thing. Fewer surprises, more reuse.
Local models via LM Studio. Hosted models via Perplexica, Recraft, Ideogram. The plugin asks; you decide. The note remains the source of truth.
Specs, plans, and chores live in the repo's context-v/. The work and the writing are the same activity. This splash page is one of those artifacts.
Latest from the field
What we shipped lately, with links back to the spec or blueprint that led to it.
Two days of marketplace-submission rounds, six dot-releases across three plugins, 86 Dependabot alerts triaged into nothing, one splash page that now visibly differentiates plugins you can install today from ones you can't yet. The Lossless plugin family has its first three public-directory listings, and the surrounding discipline is now codified everywhere it can be re-used.
Brings the plugin to clean against ObsidianReviewBot's recommended eslint config: applies all 73 sentence-case rewrites the bot demanded (brand names lowercased mid-string — to be restored after marketplace acceptance), refactors four streaming fetch() call sites to activeWindow.fetch so the no-restricted-globals rule is satisfied without a disable directive, drops async on a callback and on listTemplates that had no await expression, and drops six unused catch bindings to clear the optional warnings. Both the local eslint config and the bot-mirror recommended config now exit 0; tsc passes; production esbuild passes.
Ships the cf/cft codefence DSL, four directory templates (concept, vocabulary, source, toolkit), streaming + cleanup pipeline with image marker placement and fallback, anti-incumbent editorial stance, cite-wide-compatible sources footer, frontmatter run-stamps, Google Books URL harvesting for book sources, and a first-run seeder that drops shipped templates plus a README into the user's vault on plugin load.
Specs, plans, chores, blueprints — the thinking that underwrites the code, kept in the
repo's context-v/.