Skip to content

Latest commit

 

History

History
66 lines (51 loc) · 1.49 KB

File metadata and controls

66 lines (51 loc) · 1.49 KB

Development Guide

Principles

(See .clinerules for strict rules applied by AI Agent)

  1. TDD (Test-Driven Development):

    • Always write verifiable test cases before implementation.
    • For web-renderer, use npm test (Jest).
    • For Swift code, define clear acceptance criteria.
  2. Ecosystem & Dependencies:

    • Prioritize established npm packages (markdown-it, mermaid, etc.) over custom wheels.
    • Strictly manage versions in package.json.
  3. Documentation (Doc-First):

    • All design decisions and changes must be recorded in docs/.

Web Renderer

The web renderer is a TypeScript project that bundles the rendering logic.

Setup

cd web-renderer
npm install

Testing

cd web-renderer
npm test

Building

cd web-renderer
npm run build

This generates dist/index.html (Single file with inlined assets).

Swift Extension

The Xcode project is generated using XcodeGen (Configuration as Code).

CI Checks

  • Docs internal links: bash scripts/check-links.sh
  • Renderer unit tests: cd web-renderer && npm test

Prerequisites

  • XcodeGen (brew install xcodegen)

Generating the Project

Run:

make generate

This command will:

  1. Build the web renderer (npm install & build)
  2. Generate FluxMarkdown.xcodeproj from project.yml

Building the App

make app

Or open FluxMarkdown.xcodeproj in Xcode.

Note: Do not commit FluxMarkdown.xcodeproj to git. Commit project.yml instead.