What is Infa
Infa Chrome Extension
How to use and install our Chrome Extension
Community
Browse community design systems
Release Notes
Featuring the latest changes to keep you up-to-date
Research Program
Participate in shaping the future of Infa
SOC 2 Type II Compliance Badge
Enterprise Ready
SOC 2 Type II certified for enterprise-level security and compliance
EventsLearnPricing
Sign up for free

Feedback

Share your feedback

Close
Anonymous submissions are auto-posted to #feedback channel. You can also share directly in Slack.

Need help?

Reach out to contact@infa.ai or see docs

Navigation
Search...
⌘ K
Focus sentinel
Close

Search Documentation

PressESCto close
Focus sentinel
Infa Documentation
  • General Information
    • Boards
    • Components
      • Main Components Vs Component Views
      • Component Tagging
      • Component Anatomy
    • Labels
    • Teams
    • Authentication
    • Permissions
      • Inviting People to Teams
      • Inviting People to Boards
    • Billing & Subscription
      • Managing Subscription
      • Promo Code Activation
    • Data Import, Export & Sync
      • Local vs. Cloud Boards
  • App Blocks
    • Building App Blocks
  • Chrome Extension
    • Deep Links
    • Using Labels
    • Updating the Extension
  • Integrations
    • MCP Server
    • Claude Code Plugin
    • External API
    • Progressive Web App
    • Figma Plugin
    • Coda Pack
    • Overview
    • Managing Runs
    • Board Agents
    • Overview
    • Infa Capture
    • Installation
    • Authentication
    • Connect a Board
    • Run Modes
    • Hooks & Agents
    • File Sync
    • CLI Reference
Switch to Light theme
Switch to Dark theme
TermsPrivacyChat with Us
  1. Docs
  2. Integrations

File Sync

Keep local .md and .mdx files in sync with cloud Papers on your Infa board.

File sync lets you keep local Markdown and MDX files in sync with Papers on your Infa board. Each local file is linked to a cloud Paper via a paper_id in its frontmatter.

Requirements: authenticated (infa auth) + board connected (infa board).

Copy link
Check sync status

infa sync

Lists every discovered local file and its current sync state:

  [v] docs/intro.mdx -> paper_abc123  (in_sync)
  [^] docs/setup.mdx -> paper_def456  (local_ahead)
  [↓] docs/api.mdx   -> paper_ghi789  (cloud_ahead)
  [!] docs/guide.mdx -> paper_jkl012  (conflict)
  [-] docs/notes.mdx                  (unlinked)

Copy link
Sync states

IconStateMeaning
[v]in_syncLocal and cloud content match
[^]local_aheadLocal file is newer than cloud
[↓]cloud_aheadCloud Paper is newer than local
[!]conflictBoth sides have changed since last sync
[-]unlinkedFile has no paper_id — not yet linked to a cloud Paper
[x]errorCould not compare (fetch failed, etc.)

Copy link
Push a file to cloud

infa sync push docs/setup.mdx

Uploads the local file content to the linked cloud Paper. Creates a new Paper if none exists and writes the paper_id back into the file's frontmatter.

Copy link
Pull a file from cloud

infa sync pull docs/api.mdx

Overwrites the local file with the cloud Paper's current content.

warning icon
Pull overwrites local changes
There is no merge — pulling replaces the local file entirely. Check sync status first if you have uncommitted local edits.

Copy link
How files are linked

A local file is linked to a cloud Paper when it contains a paper_id in its frontmatter:

docs/setup.mdx
Copy code
Copy code
---
title: "Setup Guide"
paper_id: paper_abc123
last_edited_at: "2026-03-21T10:00:00.000Z"
---
Content here...

When you push a file that has no paper_id, a new Paper is created on the board and the frontmatter is updated automatically. When you pull, last_edited_at is updated.

Copy link
Background polling

While infa preview is running, the sync service polls for status changes every 30 seconds and broadcasts updates to the web UI via WebSocket. You do not need to run infa sync manually in this mode — the web UI shows sync state in real time.

Copy link
Sync via the HTTP API

The running preview server also exposes sync over HTTP:

# Check status
curl http://localhost:7100/api/sync/status
# Push a file
curl -X POST http://localhost:7100/api/sync/push \
-H "Content-Type: application/json" \
-d '{"path": "docs/setup.mdx"}'
# Pull a file
curl -X POST http://localhost:7100/api/sync/pull \
-H "Content-Type: application/json" \
-d '{"path": "docs/api.mdx"}'

These endpoints return 404 if no board is configured.

Copy link
Next steps

  • Connect a Board
  • CLI Reference

Content Feedback

Feedback on selected content

Close
Anonymous submissions are auto-posted to #feedback channel. You can also share directly in Slack.

Need help?

Reach out to contact@infa.ai or see docs

PreviousHooks & Agents
NextCLI Reference