(See .clinerules for strict rules applied by AI Agent)
-
TDD (Test-Driven Development):
- Always write verifiable test cases before implementation.
- For
web-renderer, usenpm test(Jest). - For Swift code, define clear acceptance criteria.
-
Ecosystem & Dependencies:
- Prioritize established npm packages (
markdown-it,mermaid, etc.) over custom wheels. - Strictly manage versions in
package.json.
- Prioritize established npm packages (
-
Documentation (Doc-First):
- All design decisions and changes must be recorded in
docs/.
- All design decisions and changes must be recorded in
The web renderer is a TypeScript project that bundles the rendering logic.
cd web-renderer
npm installcd web-renderer
npm testcd web-renderer
npm run buildThis generates dist/index.html (Single file with inlined assets).
The Xcode project is generated using XcodeGen (Configuration as Code).
- Docs internal links:
bash scripts/check-links.sh - Renderer unit tests:
cd web-renderer && npm test
- XcodeGen (
brew install xcodegen)
Run:
make generateThis command will:
- Build the web renderer (npm install & build)
- Generate
FluxMarkdown.xcodeprojfromproject.yml
make appOr open FluxMarkdown.xcodeproj in Xcode.
Note: Do not commit FluxMarkdown.xcodeproj to git. Commit project.yml instead.