Skip to content

v0.6.4

Choose a tag to compare

@jlevy jlevy released this 17 Feb 07:40
· 214 commits to main since this release
d7edc38

What's Changed

New Features

File discovery with gitignore-aware recursive directory walking

Flowmark can now recursively discover and format Markdown files in a directory with flowmark --auto .. The file resolver includes:

  • Smart default exclusions (~45 directories like node_modules, .venv, build, etc.) pruned during traversal for performance.
  • .gitignore integration at every directory level (disable with --no-respect-gitignore).
  • .flowmarkignore — a tool-specific ignore file using gitignore syntax.
  • New CLI flags: --list-files, --extend-include, --exclude, --extend-exclude, --force-exclude, --files-max-size.
  • Glob pattern expansion (e.g., flowmark --auto 'docs/**/*.md') using Python's pathlib.Path.glob().
  • Max file size filtering (default: 1 MiB).

TOML configuration file support

Flowmark now reads settings from .flowmark.toml, flowmark.toml, or pyproject.toml (under [tool.flowmark]). Config files are discovered by walking up directories. Formatting and file-discovery settings can be configured via config and overridden by explicit CLI flags.

Agent skill support for Claude Code

Flowmark can now be installed as a self-discoverable skill for Claude Code and other AI coding agents via flowmark --install-skill. New flags: --skill, --install-skill, --agent-base, --docs.

Bug Fixes

Fix smart quoting in tables, strikethrough, and across inline elements

Smart quote conversion now works correctly inside table cells and strikethrough text. Quotes that span across inline elements (code spans, emphasis, links) are also now properly converted by concatenating inline scopes before applying the smart quotes transform.

Require explicit file arguments for CLI safety

Running bare flowmark or flowmark --auto with no file arguments now shows a helpful error message instead of silently reading stdin. Use - explicitly for stdin input.

Fix build: remove redundant force-include that broke PyPI publish

Removed force-include entries from pyproject.toml that caused the sdist→wheel build path to fail with FileNotFoundError.

Testing

  • Added 14 end-to-end tryscript golden tests for CLI behavior.
  • Added 23 file resolver unit tests and 17 config tests.
  • Test suite now at 285 tests.

Full Changelog

v0.6.3...v0.6.4