Skip to content

Users as Developers

In the age of AI coding tools, the line between "user" and "developer" is disappearing. If you can describe a bug, you can fix it. If you can imagine a feature, you can build it — with an AI assistant that already understands the codebase.

VMark embraces this philosophy. The repo ships with project rules, architecture docs, and conventions pre-loaded for AI coding tools. Clone the repo, open your AI assistant, and start contributing — the AI already knows how VMark works.

Getting Started

  1. Clone the repo — AI config is already in place.
  2. Install your AI toolClaude Code, Codex CLI, or Gemini CLI.
  3. Open a session — The tool reads AGENTS.md and the rules automatically.
  4. Start coding — The AI knows the project conventions, testing requirements, and architecture patterns.

No extra setup needed. Just start asking your AI to help.

Reading Guide

New to AI-assisted development? These pages build on each other:

  1. Why I Built VMark — A non-programmer's journey from scripts to desktop app
  2. Five Skills AI Can't Replace — Git, TDD, terminal literacy, English, and taste — the foundations everything else builds on
  3. Why Expensive Models Are Cheaper — Per-token price is a vanity metric; per-task cost is what matters
  4. Subscription vs API Pricing — Why flat-rate subscriptions beat pay-per-token for coding sessions
  5. English Prompts Work Better — Translation, refinement, and the :: hook
  6. Cross-Model Verification — Using Claude + Codex to audit each other for better code

Already familiar with the basics? Jump to Cross-Model Verification for the advanced workflow, or read on for how VMark's AI setup works under the hood.

One File, Every Tool

AI coding tools each read their own config file:

ToolConfig file
Claude CodeCLAUDE.md
Codex CLIAGENTS.md
Gemini CLIGEMINI.md

Maintaining the same instructions in three places is error-prone. VMark solves this with a single source of truth:

  • AGENTS.md — Contains all project rules, conventions, and architecture notes.
  • CLAUDE.md — Just one line: @AGENTS.md (a Claude Code directive that inlines the file).
  • Codex CLI — Reads AGENTS.md directly.
  • Gemini CLI — Uses @AGENTS.md in GEMINI.md to inline the same file.

Update AGENTS.md once, every tool picks up the change.

What is @AGENTS.md?

The @ prefix is a Claude Code directive that inlines another file's content. It's similar to #include in C — the contents of AGENTS.md are inserted into CLAUDE.md at that position. Learn more at agents.md.

Using Codex as a Second Opinion

VMark uses cross-model verification — Claude writes the code, then Codex (a different AI model from OpenAI) audits it independently. This catches blind spots that a single model might miss. For full details and setup instructions, see Cross-Model Verification.

What the AI Knows

When an AI coding tool opens the VMark repo, it automatically receives:

Project Rules (.claude/rules/)

These files are auto-loaded into every Claude Code session. They cover:

RuleWhat it enforces
TDD WorkflowTest-first is mandatory; coverage thresholds block the build
Design TokensNever hardcode colors — full CSS token reference included
Component PatternsPopup, toolbar, context menu patterns with code examples
Focus IndicatorsAccessibility: keyboard focus must always be visible
Dark Theme.dark-theme selector rules, token parity requirements
Keyboard ShortcutsThree-file sync procedure (Rust, TypeScript, docs)
Version BumpsFive-file update procedure
Codebase ConventionsStore, hook, plugin, test, and import patterns

Custom Skills

Slash commands give the AI specialized capabilities:

CommandWhat it does
/fixFix issues properly — root cause analysis, TDD, no patches
/fix-issueEnd-to-end GitHub issue resolver (fetch, branch, fix, audit, PR)
/codex-auditFull 9-dimension code audit (security, correctness, compliance, ...)
/codex-audit-miniFast 5-dimension check for small changes
/codex-verifyVerify fixes from a previous audit
/codex-commitSmart commit messages from change analysis
/audit-fixAudit, fix all findings, verify — repeat until clean
/feature-workflowEnd-to-end gated workflow with specialized agents
/release-gateRun full quality gates and produce a report
/merge-prsReview and merge open PRs sequentially
/bumpVersion bump across all 5 files, commit, tag, push

Specialized Agents

For complex tasks, Claude Code can delegate to focused subagents:

AgentRole
PlannerResearches best practices, brainstorms edge cases, produces modular plans
ImplementerTDD-driven implementation with preflight investigation
AuditorReviews diffs for correctness and rule violations
Test RunnerRuns gates, coordinates E2E testing via Tauri MCP
VerifierFinal checklist before release

Private Overrides

Not everything belongs in the shared config. For personal preferences:

FileShared?Purpose
AGENTS.mdYesProject rules for all AI tools
CLAUDE.mdYesClaude Code entry point
.claude/settings.jsonYesTeam-shared permissions
CLAUDE.local.mdNoYour personal instructions (gitignored)
.claude/settings.local.jsonNoYour personal settings (gitignored)

Create CLAUDE.local.md in the project root for instructions that only apply to you — preferred language, workflow habits, tool preferences.