Skip to main content

A minimalistic CLI tool for creative writing project management.

Project description

Creative Writer CLI Project Manager

A minimalistic command-line interface (CLI) tool designed to help writers organize their creative projects, capture ideas, and track progress.

Features

  • Main Menu: Navigate easily through options to create, view, or delete projects.
  • Idea Capture: Quickly jot down ideas, structured by project type (Novel, Poem, Scientific Article, Scientific Book, Other).
  • Project Management: Organize your ideas and content within dedicated project structures.
  • Templates: Guided input based on predefined templates for different writing types.
  • Progress Overview: See what sections are complete, what's still missing, and the count of items (e.g., characters, plot points) at a glance. Includes a total word count for the project.
  • Export Project: Export your entire project content to Markdown, JSON, or TXT formats. (Note: BibTeX, RIS, and Zotero RDF export are currently under development and may not function as expected.)

Enhanced Novel Project Sections

For 'Novel' projects, the following sections offer structured input, summary tables, and detailed views:

  • Characters: Add, edit, and delete characters with fields like Name, Race, Class, Gender, Background, Skills, Equipment, Positive Traits, and Negative Traits.
  • Plot: Manage plot points with fields for Name, Details, Timeline/Order, Characters Involved, Location, and Status.
  • Worldbuilding: Organize world elements by Name, Type (Location, Culture, Technology, Magic System, Other), Description, History/Lore, and Connections.
  • Themes: Define themes with fields for Theme Name, Description, Motifs/Symbols, and Related Elements.
  • Notes/Ideas: Capture general notes and ideas with a Title, Content, and Tags for easy categorization.

Scientific Article Project Enhancements

  • Dynamic Section Menus: Menus adapt to the specific needs of scientific article sections.
  • Content Snippets in Overview: For sections like Title, Abstract, Introduction, Methods, Results, and Discussion, the project overview displays a snippet of the content.
  • References Management: A structured section for managing references with fields for Author(s), Year, Title, Journal/Conference, and DOI/URL. Now includes the ability to import reference data directly from a DOI URL using the CrossRef API.

Development Status

Please Note: The 'Scientific Book' project type is currently under active development. While basic functionality is available, some sections may still be generic or lack the full structured input and detailed views present in the 'Novel' project type.

Known Errors

No errors currently known.

Tech Stack

  • Language: Python
  • CLI Libraries: rich (for rich text and tables), questionary (for interactive prompts)
  • Data Storage: Local JSON files

Installation and Usage

To run the Creative Writer CLI Project Manager, follow these steps:

  1. Clone or download the project: Obtain the project files and navigate into the creative_writer_cli_project_manager directory.

  2. Run the application: Execute the provided run.sh script. This script will automatically create a Python virtual environment, install all necessary dependencies, and then start the CLI application.

    ./run.sh
    

    (If ./run.sh does not work, you might need to give it execute permissions first: chmod +x ./run.sh)

Portability

This project is designed to be fully portable. The run.sh script dynamically determines the project's location, meaning you can place the creative_writer_cli_project_manager folder anywhere on your system, and the application will run correctly without needing to modify any internal paths.

Example Usage

Once the application starts, you will be presented with a main menu:

What do you want to do? 
❯ Create New Project
  View Existing Projects
  Delete Project
  Exit

Follow the prompts to create a new project, select its type, and start organizing your writing. For 'Novel' projects, explore the structured sections for Characters, Plot, Worldbuilding, Themes, and Notes/Ideas. For 'Scientific Article' projects, you can begin adding content to its specific sections and manage references.

Project Structure

creative_writer_cli_project_manager/
├── .git/                               # Git version control directory
├── src/                                # Source code directory
│   ├── creative_writer_cli/            # Core application logic
│   │   ├── core/                       # Core logic/models
│   │   ├── data/                       # Data handling modules
│   │   │   └── repositories/           # Data repositories
│   │   │       ├── __init__.py
│   │   │       ├── json_store.py       # Handles low-level JSON file operations
│   │   │       └── project_repository.py # Manages project data (CRUD)
│   │   ├── ui/                         # User Interface modules
│   │   │   ├── cli_app.py              # Main CLI application logic and menus
│   │   │   ├── display/                # Modules for displaying data (tables, views)
│   │   │   │   ├── tables.py
│   │   │   │   └── views.py
│   │   │   ├── wizards/                # Modules for interactive user input (wizards)
│   │   │   │   ├── generic_wizards.py
│   │   │   │   ├── novel_wizards.py
│   │   │   │   └── scientific_wizards.py
│   │   │   ├── ascii_art.py
│   │   │   ├── display.py
│   │   │   └── wizards.py
│   │   └── utils/                      # Utility modules
│   │       ├── export_formatter.py
│   │       ├── path_helpers.py         # Utility for constructing file paths
│   │       ├── reference_export_formatter.py
│   │       └── word_counter.py         # Logic for calculating word counts
│   ├── main.py                         # Application entry point
│   └── projects/                       # Directory for storing user projects (initially empty)
├── .gitattributes                      # Git attributes configuration
├── .gitignore                          # Specifies intentionally untracked files to ignore
├── LICENSE                             # Project license file
├── README.md                           # Project documentation

├── run.sh                              # Script to set up environment and run the application
└── venv/                               # Python virtual environment (created by run.sh)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

creative_writer_cli-0.1.0.tar.gz (56.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

creative_writer_cli-0.1.0-py3-none-any.whl (49.9 kB view details)

Uploaded Python 3

File details

Details for the file creative_writer_cli-0.1.0.tar.gz.

File metadata

  • Download URL: creative_writer_cli-0.1.0.tar.gz
  • Upload date:
  • Size: 56.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.2

File hashes

Hashes for creative_writer_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e68c0efd928e1faceca5f3118deedef443f08bc89761d314dd5c8ac57f529e75
MD5 774a4e63d23bb258e0e316060d202fa1
BLAKE2b-256 b93125c3146d0647dd92d4f60e9462795ea9349f6fe50addfffd1b5db0a710f0

See more details on using hashes here.

File details

Details for the file creative_writer_cli-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for creative_writer_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 71cd79f77869e191a15ab28b6287ef100ea07afe0d21ffa820934de5093dadd6
MD5 2faa90d60f55758e936990aec95e91c4
BLAKE2b-256 783d75d7ac7184cff68aa75478995f5e31ee621ae8b3857643cdecf74ba48384

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page