|Benjamin Hollon 381b8c9c2d|
An open yet curated list of public domain writing prompts.
If you would like to submit a prompt, you're very welcome to do so! Submit an issue to this repository and we'll begin the process of introducing them into the data in this repository. You will need a Codeberg account for this.
In the future, we hope to have a separate submission form to make the process more accessible, but the project is currently in its early stages.
You may submit as many prompts as you like in a single issue. It would also help if you include information about yourself including name (or pseudonym), a link to a personal site or profile, and a short (~50 word) bio.
Be aware that by submitting to this project you are releasing your contributions into the public domain under CC0 1.0 International, where anyone may use them for any purpose without asking your permission or giving you credit. Freedom to Write plans to credit you with at least your name and the link you provide whenever we use your work, but we have no legal responsibility to do so, and neither does anyone else.
This repository contains the prompt data, which is available for use in any project that needs writing prompts. Freedom to Write is working on coding a website as a searchable index and with an API for use in other projects.
The data is stored in TOML configuration files.
This file contains the actual writing prompts. It is stored as an array of tables with the key
A unique integer id of the writing prompt.
This should be incremented for every new prompt; even if a prompt is deleted, its id should not be reused.
In the case of a prompt's translation into another language, it should be a new entry in prompts.toml, but with the same
id field. This is to identify it as the same prompt, but translated. Note that the
language field will be different.
This means that, technically,
id is not unique. If you need a guaranteed unique identifier, combine the
language fields as
[id]-[language]. For example,
3-en-US represents the US English translation of prompt #3.
The full text of the writing prompt, as a string, in the language specified by
The key of a contributor from the
contributors.toml file, as a string. This represents the contributor who originally submitted the prompt and does not necessarily reflect future editing.
The ISO date (not including time) when the prompt was first added to the repository. (yyyy-mm-dd)
This is the date that the prompt is added to the files, not necessarily the date it reaches the main branch; if you are adding prompts to the repository you may set this to the current date, even if this is not the date the changes go live.
The ISO date (not including time) when the prompt was last updated. (yyyy-mm-dd)
The IETF language tag representing the language of the prompt. For example,
en-US. Only the primary language subtag is required.
Note that writing prompts in languages other than
en may take extra time to approve, at this time.
Note that when filtering for a language, you likely will only want to pay attention to the primary language subtag; in the case of
en-US, this is
To translate a writing prompt, duplicate it, keeping the same
id, and update
text. Optionally, you may fill the
translator field with your contributor id (see
contributors.toml) if you are the original translator of the prompt to the target language.
Optional, represents the contributor id of the original translator of the writing prompt into a new target language.
An array of strings, each of which is a tag for the prompt. In the future, this repo may have a
tags.toml file with metadata about each tag, but it does not currently.
This file contains a list of all the people who have contributed to this project, including people submitting prompts, editing prompts, and providing code. Note that editors and coders will not be given credit on individual prompts.
The full name (or preferred pseudonym) of the contributor.
A link to a webpage about or by the contributor. This could be a personal website, social media profile, Codeberg or other git hosting service profile, or any other link of the contributor's choice.
For this project, please avoid using a link to a site with NSFW content.
A short bio of the contributor; this should be appropriate for general audiences, but may be as quirky or serious as the contributor wishes. While there is no hard length limit, try to keep the bio to 64 words or under and be aware that all contributor details including the bio are subject to maintainer approval.
An array of strings, each of which represents a role of the contributor. Currently, the roles are:
- writer – Someone contributing full writing prompts. Writers are also credited on the individual prompts.
- editor – Someone who helps edit and curate submitted writing prompts.
- coder – Someone who helps provide code for this project in any form.
- translator — Someone translating writing prompts into different languages. Translators can optionally be credited on individual prompts using the
translatorfield. This role is also given to people reviewing translations, along with the
Descriptions of these roles are also stored in
roles/[language].toml, though there is no documentation on the format in this README since it is very self-explanatory and not necessary for the vast majority of contributors. The roles subdirectory contains one file for each translation of the role descriptions.
Tests have been written to make sure data is valid. Please run them before submitting direct changes to the data (i.e. via a pull request). To run them, first install Deno, navigate to the repository's root folder in your terminal, then run
sh tests/all.sh to check all data.
This project is public domain under CC0 1.0 International. All contributors must release their contributions for use under this license.
This means that you can use the data in this repository for whatever you want, without citing your source or worrying about copyright violation. Be aware, though, that Freedom to Write makes no guarantee of the quality or usefulness of this project and is not liable for any harm to you through use of this project.