Several utilities are made available to create bulk user stories for developing an online shopping web application and the supporting APIs. The generator uses interactive inputs (stdin) to collect story templates and produces structured outputs (CSV/JSON/Markdown) for product management, sprint planning, and API design.
- Interactive, input-driven creation of multiple user stories (no command-line arguments required).
- Supports fields:
title,description,acceptance_criteria,priority,estimate,tags,epic,author,status. - Export formats: CSV, JSON, Markdown outlines.
- Basic validation on required fields.
- Designed to be extended for integration with issue trackers or API spec generators.
- Python 3.8+ installed.
- Recommended: develop/run inside a virtual environment or use jupyter notebook.
- Environment variables (set in your OS or
.envfile):- JIRA_API_TOKEN=your_jira_api_token_here
- JIRA_BASE_URL=https://your-domain.atlassian.net
- JIRA_EMAIL=your_email
- OPENAI_API_KEY=your_openai_api_key_here
- HUGGINGFACE_API_KEY=your_huggingface_api_key_here
- Clone the repository:
git clone <repository-url>
- Create and activate a virtual environment:
python -m venv .venv.venv\Scripts\activate(Windows)
- Install dependencies (if any):
pip install -r requirements.txt
Note: this project currently has no required packages; add them torequirements.txtas needed.
The generator is interactive and asks for inputs. Example assumes a script named generate_stories.py.
Run the script:
- In a terminal (Windows):
python generate_stories.py
Typical interactive session:
- The script will prompt for:
- Number of stories to create
- For each story:
title,description,acceptance_criteria,priority(Low/Medium/High),estimate(e.g., 3h, 2sp),tags(comma-separated),epic,author,status(Draft/Ready/In Progress/Done)
- After input the script will ask for export format:
csv,json, ormd
- Output files will be written to an
output/directory (created if missing) with timestamps, e.g.output/user_stories_2025-11-08_150301.csv
Example minimal flow:
- Launch
python generate_stories.py - Enter
5when asked for number of stories - Provide details for each story as prompted
- Choose
csvas export format - Open
output/user_stories_<timestamp>.csv
- CSV: easy import into spreadsheets, trackers.
- JSON: structured data for tooling and API generation.
- Markdown: human-readable outlines for product docs or PRDs.
generate_stories.py- main interactive script (create if not present)README.md- this file.gitignore- ignores Python artifacts, virtualenvs, IDE files and Windows system filesoutput/- generated exports (ignored by.gitignoreif configured)tests/- unit tests for validation and export logic
- Use PyCharm or command line to run tests.
- Example:
python -m pytest tests/
- Tests should validate input parsing, required field enforcement, and export formats.
- Create a feature branch from
master. - Write tests for new behavior.
- Keep changes small and focused.
- Open a pull request describing the purpose and changes.
- Add integrations for GitHub Issues/Jira/Trello export.
- Add templates for API endpoints derived from user stories.
- Add a CLI mode for automated pipelines (use
argparsefor non-interactive runs).
A .gitignore has been added to ignore:
- Python bytecode and caches
- Virtual environment directories (
.venv,env,venv) - Build and distribution directories (
build/,dist/) - IDE files (
.idea/, PyCharm) - Windows system files (
Thumbs.db,Desktop.ini)