Meander
๐ A powerful, portable utility for production screenplays and manuscripts
Install / Use
/learn @lichendust/MeanderREADME
๐ Meander
Meander is a tiny, single-binary, portable utility for the production writing markup language Fountain.

Meander has a focus on beautiful formatting on the page, as well as being available and fully functional on as large a number of platforms as possible โ most of the highly-regarded industry standard tools are prohibitively expensive simply by virtue of only being available on Apple devices.
Instead, Meander lets you write wherever you like, on whatever platform you like, with any plain-text editor you like. Or, like some of us, on a bunch of them at once. You can install it anywhere, run it anywhere and take it anywhere, by design. It's licensed under the GPL 3.0, to ensure it remains available and modifiable.
Building on top of Fountain, Meander can create all sorts of production documents, including โ
- Screenplays
- Stageplays
- Novel Manuscripts
Meander also extends the core syntax with simple, clever and worthwhile features to make it more powerful.
You can download Meander from itch.io under a 'pay what you want' model, which includes free.
<img height="60px" src="https://static.itch.io/images/badge-color.svg">
In spite of this quite scary table of contents, Meander is extremely simple to use. There's just a lot to cover!
Contents
<!-- MarkdownTOC autolink="true" -->- Usage
- Basic Commands
- Render Flags
- Syntax Extensions
- Compilation
- Editor Support
- Future Plans
- Attribution
Usage
Meander is very simple to use. Render your first screenplay with โ
meander myfilm.fountain
The output, in this case myfilm.pdf will be placed alongside the original.
You can then get really adventurous by naming the PDF file yourself โ
meander myfilm.fountain "My Magnum Opus.pdf"
Basic Commands
The base Meander commands, which should always be the first argument, are โ
rendermergegenderdataconvert
There's also the usual self-explanatory stuff โ
helpversion
Meander's help command is extremely powerful and provides detailed information about every command, flag and setting available within Meander, as well as useful resources like a built-in cheat-sheet for Fountain โ
meander help fountain
Render
meander render
The default, implied option. Creates a PDF of your input file. See Render Flags for the myriad additional options.
Merge
meander merge source.fountain [output.fountain]
Meander supports a multi-file workflow. Merging collapses your multi-file screenplay into a single text file. The render command does this automatically, but merging allows you to output the combined plain-text as needed.
You'll need to use the include syntax in your screenplay to insert another file โ
include: scenes/some_file.fountain
Included paths are always relative to the file in which they're written.
Gender
Meander comes with the ability to analyse the genders of your characters, giving you a detailed print-out of how they break down across the whole screenplay and whose voices are heard the most.
Calling โ
meander gender some_film.fountain
โ will output a terminal-friendly version of the stats for that file (and its included files, if applicable).

The information backing this analysis comes from a custom boneyard comment[^1] in the root file of your screenplay.
/*
[gender.male]
Ashby | Ashby Santoso | Captain Santoso
Jenks
[gender.female]
Rosemary
Sissix
Kizzy
[gender.<custom>]
Dr. Chef
[gender.ignore]
Market Stall Owner
*/
Characters will be assigned the gender from the heading they reside under. Any word can used to define a gender: this means you can represent non-binary and queer characters, as well as non-humans in science fiction. Oh and non-English writers aren't stuck with their reports saying 'Male' and 'Female'.
The only reserved word is ignore. Characters assigned to ignore will be left out of consideration in the breakdown, useful for single-appearance characters or special cases like 'the crowd' shouting back at a main player that probably shouldn't count toward any totals.
Any characters found in the screenplay but not in the gender table will be reported as 'unknown' and classified in the statistics under that additional group.
Characters can also have multiple names โ Ashby and his occasional full name Ashby Santoso, for example. By writing each name in with a pipe separating them (see the table example above), all instances of the character's appearances under different names will be combined and handled as if they are one. The report will use the first name provided as the name.
Only include the actual gender data in the boneyard, with at least one [gender.x] header as the first non-whitespace text inside. Whitespace, indentation and letter casings are not considered: the way the name is written in the table is how it will appear in the output.
You can put the gender table anywhere, so if you want to shove it way down at the end, Meander doesn't mind. If you supply more than one table (such as across multiple included files), those new characters will be combined.
For instance, you could create a stub file that
includesand therefore outputs the statistics for a whole season of episodes.
~~Existing characters are not changed to prevent confusion: always define a character in a single location.~~ This will be changed in v0.3.0, because the pros actually outweighed the cons of this.
Data
The data command generates a JSON file containing the content of and data about a given Fountain file.
meander data [some_film.fountain] [data.json]
This is provided as a useful data exchange format. Rather than conversion to other screenplay tools, this is intended for use with non-screenplay software, such as furnishing production-tracking tools with screenplay metadata or dumping statistics into spreadsheets.
The resulting JSON blob is a dictionary containing four entries โ
metaโ information about the version of Meander and the JSON format.titleโ a dictionary of the title page entries.charactersโ a list of all characters in the screenplay, their alternate names and gender from the gender analysis table, as well as the number of lines they actually speak.contentโ a syntactic breakdown list of the screenplay content, with each paragraph or dialogue entry, etc., tagged by its type.
Convert
Meander can convert .fdx files from Final Draft to Fountain.
meander convert input.fdx
You can override the output path with another argument, as with other commands.
Meander parses the XML structure and attempts to write out a decent approximation in Fountain. It also adds force-characters to text that it knows Fountain would not recognise as its Final Draft designation.
Because Final Draft has a Fountain importer, Meander does not export to .fdx.
This command is currently considered experimental. I have limited access to example
.fdxfiles, especially those demonstrating complex features like page-locking.Note that Meander's non-standard syntax extensions are a known issue for importing with Final Draft. If this is a requirement, you should limit your use of any non-standard syntax for the time being.
Please open an issue for any other import/export concerns. If there is sufficient need, Meander can easily support its own export mode to support more Final Draft features.
Render Flags
Almost everything in Meander has a default specification. For the following sections, the item marked with an asterisk* is the default, implied parameter. If that's the one you want, you don't need to specify it.
Scenes
In Fountain, scene numbering is traditionally handled by tacking #12# (for example) to the end of a scene heading to denote it as the twelfth.
However, Meander offers more options during rendering โ
meander -s input
meander --scene input
inputuses the original input markers from the text.*removeremoves all of them from the output.generatecreates a new sequence starting from1, which increments correctly across multiple files.
If you're not familiar with Fountain, if you choose to write in scene headings manually you're not limited to numbers; you can go mad with stuff like #1.3-A#.
Formats
Meander also offers different formatting options. Right now, it comes with โ
screenplay*stageplaymanuscriptgraphicnoveldocument
These formats can be specified as part of the title page, in the form format: screenplay, but the command line flag will take priority.
meander -f screenplay
meander --format screenplay
Paper Sizes
Related Skills
qqbot-channel
347.9kQQ ้ข้็ฎก็ๆ่ฝใๆฅ่ฏข้ข้ๅ่กจใๅญ้ข้ใๆๅใๅๅธใๅ ฌๅใๆฅ็จ็ญๆไฝใไฝฟ็จ qqbot_channel_api ๅทฅๅ ทไปฃ็ QQ ๅผๆพๅนณๅฐ HTTP ๆฅๅฃ๏ผ่ชๅจๅค็ Token ้ดๆใๅฝ็จๆท้่ฆๆฅ็้ข้ใ็ฎก็ๅญ้ข้ใๆฅ่ฏขๆๅใๅๅธๅธๅญ/ๅ ฌๅ/ๆฅ็จๆถไฝฟ็จใ
docs-writer
100.2k`docs-writer` skill instructions As an expert technical writer and editor for the Gemini CLI project, you produce accurate, clear, and consistent documentation. When asked to write, edit, or revie
model-usage
347.9kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
arscontexta
2.9kClaude Code plugin that generates individualized knowledge systems from conversation. You describe how you think and work, have a conversation and get a complete second brain as markdown files you own.
