Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

aifmt

Make visual text content just work.

An MCP server that fixes, validates, and generates visual text content for AI coding assistants.

Tests License: MIT Python 3.10+


LLMs can't count visual columns. len("📦") returns 1, but it renders wider. Every AI-generated box, table, and tree diagram ends up misaligned. aifmt fixes it.

Install

pip install aifmt

Configure

Add to your MCP client (Copilot CLI, Claude Code, Cursor, VS Code, Windsurf, Gemini CLI):

{
  "mcpServers": {
    "aifmt": {
      "command": "uvx",
      "args": ["aifmt"]
    }
  }
}

Tools

Tool Description
fix Repair misaligned boxes, tables, bars, and tree diagrams
validate Check for alignment issues without modifying
generate Create diagrams via Mermaid or PlantUML
targets List rendering profiles (GitHub, terminal, custom)

Key Insight

GitHub renders emoji at 2.5 monospace columns — not 2.0. aifmt uses rendering-profile-aware width calculation to handle this. Read how we discovered it →

Documentation

📖 ericchansen.github.io/aifmt

License

MIT

Metadata

Release files for aifmt 0.1.0a1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aifmt 0.1.0a1
File Size Uploaded Provenance Actions
aifmt-0.1.0a1.tar.gz 44.4 kB With provenance Details for aifmt-0.1.0a1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for aifmt 0.1.0a1
File Interpreter ABI Platform Actions
aifmt-0.1.0a1-py3-none-any.whl Python 3 none any Details for aifmt-0.1.0a1-py3-none-any.whl

Total release size: 69.2 kB

Release files / aifmt-0.1.0a1.tar.gz

Download URL aifmt-0.1.0a1.tar.gz
Size 44.4 kB
Tags Source
SHA-256 checksum
How to use checksums
fba3389afb3cb61b98b8dc89a3ca83de91caf75f3c57e4fe984b2ff1a9a87a2f
BLAKE2b-256 checksum
How to use checksums
edbaf4a197f2a95a4f2e700d93278d2cd6a9c3fb69608a409679760af0a093d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 23, 2026.

Transparency log

Release files / aifmt-0.1.0a1-py3-none-any.whl

Download URL aifmt-0.1.0a1-py3-none-any.whl
Size 24.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
821754f3e249b18d66f5dbac23894c141450ce217e38744e14813c46d5615b3c
BLAKE2b-256 checksum
How to use checksums
c87f4a31a8140bd4c603890a67620fae3997f1dc55317ae2be0264ff61fc860d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 23, 2026.

Transparency log

Security for aifmt 0.1.0a1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for aifmt-0.1.0a1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 23, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page