SkillAgentSearch skills...

Meander

๐Ÿ“ A powerful, portable utility for production screenplays and manuscripts

Install / Use

/learn @lichendust/Meander
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

๐Ÿ“ Meander

Meander is a tiny, single-binary, portable utility for the production writing markup language Fountain.

A stylised image of the word 'Meander' on a beige paper background, which says 'plain-text screenwriting for everyone, everywhere' beneath it

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" --> <!-- /MarkdownTOC -->

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 โ€”

  • render
  • merge
  • gender
  • data
  • convert

There's also the usual self-explanatory stuff โ€”

  • help
  • version

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).

Screenshot of a computer terminal window displaying a breakdown of the lines spoken by characters in the film "Big Fish", with specific focus on their genders

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 includes and 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 .fdx files, 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
  • input uses the original input markers from the text.*
  • remove removes all of them from the output.
  • generate creates a new sequence starting from 1, 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*
  • stageplay
  • manuscript
  • graphicnovel
  • document

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

View on GitHub
GitHub Stars18
CategoryContent
Updated1mo ago
Forks1

Languages

Go

Security Score

95/100

Audited on Mar 4, 2026

No findings