ARTICLE PUBLISHING ENGINE
You wrote the article.
Why are you still moving files?
Wrenik turns long-form MDX into an object you manage rather than a directory you maintain. One slug organises the article file, its media workspace, its public URL and every reference pointing at it — across as many projects as you keep.
One slug. Everything else follows.
Name an article and Wrenik builds its whole workspace: the MDX file where it belongs, and a media directory that mirrors it, split the way article media actually divides.
- →Media paths are generated against this project's media root, never a hard-coded one.
- →Frontmatter arrives complete and consistent — author and date filled in, status always
draft. - →The scaffold's example components sit inside MDX comments, so an unfinished draft renders clean.
- →A slug that already exists is never overwritten. Open it, rename it, or cancel.
The filesystem is an implementation detail
Ten operations, one menu. Wrenik owns structure, media, metadata, lifecycle and validation. Your website keeps owning rendering — no route, component or config is ever touched.
LIST
Read straight from frontmatter
Published, draft and archived, grouped and filterable by category. No database, no index to rebuild.
DELETE
Previewed, and it defaults to no
Shows the file, the media tree and every article that references it — then asks you to type the slug.
TEMPLATES
Outlines, not filler
Five article shapes. Guidance lives in MDX comments and disappears from the rendered page.
PREVIEW
Read it before anyone else does
Prose set as prose, screenshots and recordings resolved from disk, validation at the top, reloading on every save.
FORMAT
Paste it, don't tag it
Copy an article from anywhere. Wrenik repairs tables, unwraps hard-wrapped lines, promotes bold lines to headings — structure only, shown as a diff first.
Renaming is the whole workspace
A slug is not just a filename. It is in the media directory's name, in every
src inside the article, in the links other articles use to reach it,
and in their related lists.
Wrenik counts all of it first, shows you the number, and only then moves anything. Edits are textual, so your YAML comments, quoting and blank-line grouping survive untouched — nothing is re-serialised.
If a target path is occupied the rename refuses to start rather than finishing halfway.
yapivo-vs-wispr-flow → yapivo-vs-wispr-flow-mac This will update: 1 MDX file 1 media directory 3 media paths 4 references in 2 other articles voice-control-mac.mdx (2) agentic-voice-control.mdx (2) ? Continue? (Y/n)
Errors and warnings, kept apart
Every media reference is resolved against the project's own media root and checked against real bytes on disk. Commented-out examples and fenced code are masked first, so a scaffold never reports a missing file it was only demonstrating.
Internal links have to resolve to an article that exists. Outbound links are judged against the project's own domain policy — Wrenik holds no opinion about which domains are yours.
✓ frontmatter valid ✓ title · description · category · author ✓ media folder matches slug ✓ 2 image references resolve ✓ 1 poster exists ✓ 3 internal article links resolve ✓ no duplicate slug ERRORS ✗ file not found: /learn/…/videos/demo.mp4 ~/…/public/learn/…/videos/demo.mp4 WARNINGS ! seoDescription is empty ! external link to wispr.ai (line 31) 1 error, 2 warnings.
The engine knows articles. Config knows the product.
Nothing about any one product lives in Wrenik. Paths, route pattern,
author, CTA, allowed domains and even your MDX component names are per-project
configuration, discovered at startup from ~/.wrenik/projects/.
Yapivo
- Content
- content/learn
- Media
- public/learn
- Route
- /learn/{slug}
- CTA
- ProductCTA
Ekkovia
- Content
- src/content/journal
- Media
- static/media
- Route
- /journal/{slug}
- CTA
- Callout
SETUP
Finder picks the root
Add a project and choose its directory in Finder. Wrenik reports what it detected and warns — honestly — when it finds no MDX renderer.
SAFETY
Removing a project deletes nothing
It drops the saved configuration. Your articles and media stay exactly where they are.
ERRORS
Prose, not ENOENT
A missing directory says which one, where it looked, and where to change it.
Five shapes for an argument
Educational first, experience-driven second, technical where useful, commercial only after value is established. Every scaffold ends on a tradeoff before it ends on a CTA.
Educational
- Short answer
- The problem
- Explanation
- Example
- Evidence
- Tradeoff
Comparison
- Short version
- Common ground
- Key difference
- Real-world test
- Choose A / choose B
- Honest trade
Experience
- What happened
- What I tried
- What changed
- What surprised me
- Evidence
- Limitation
How-to
- The goal
- Requirements
- Steps
- Media
- Common mistakes
- Verification
Technical
- The problem
- System model
- Architecture
- Experiment
- Results
- Limitations
Wrenik for macOS
Universal binary, Apple Silicon and Intel. Nothing to install first — the runtime ships inside.
Download Wrenik 1.0.0 macOS 11 or later · 71 MBAlready have Node 22+? $ git clone … && npm install $ npm run build && npm link $ wrenik