278 lines
9.5 KiB
Markdown
278 lines
9.5 KiB
Markdown
# user-documentation Specification
|
|||
|
|
|
||
|
|
## Purpose
|
||
|
|
Provide user-facing documentation that enables new users to set up and use the Job Application Framework effectively.
|
||
|
|
|
||
|
|
## ADDED Requirements
|
||
|
|
|
||
|
|
### Requirement: Repository README
|
||
|
|
|
||
|
|
The system SHALL provide a README.md file in the repository root that documents setup, configuration, and usage.
|
||
|
|
|
||
|
|
#### Scenario: README exists in root
|
||
|
|
|
||
|
|
- **WHEN** user clones or downloads the repository
|
||
|
|
- **THEN** README.md is present in the root directory
|
||
|
|
- **AND** is immediately visible on GitHub/GitLab repository page
|
||
|
|
|
||
|
|
#### Scenario: README is readable
|
||
|
|
|
||
|
|
- **WHEN** user opens README.md
|
||
|
|
- **THEN** content is formatted in clear markdown
|
||
|
|
- **AND** uses headings, lists, and code blocks for readability
|
||
|
|
|
||
|
|
### Requirement: Framework Introduction
|
||
|
|
|
||
|
|
The system documentation SHALL provide a brief description of the framework's purpose and capabilities.
|
||
|
|
|
||
|
|
#### Scenario: Purpose statement
|
||
|
|
|
||
|
|
- **WHEN** user reads the README introduction
|
||
|
|
- **THEN** they understand the framework helps with job application document generation
|
||
|
|
- **AND** understand it uses Claude Code as the AI agent
|
||
|
|
- **AND** understand it works with markdown files and slash commands
|
||
|
|
|
||
|
|
#### Scenario: Feature overview
|
||
|
|
|
||
|
|
- **WHEN** user reads the features section
|
||
|
|
- **THEN** they see a list of implemented capabilities:
|
||
|
|
- Application management (workspaces)
|
||
|
|
- Profile validation
|
||
|
|
- Cover letter generation
|
||
|
|
- PDF conversion (Swiss format)
|
||
|
|
- Application email generation
|
||
|
|
|
||
|
|
### Requirement: Prerequisites Documentation
|
||
|
|
|
||
|
|
The system documentation SHALL list all prerequisites required before users can use the framework.
|
||
|
|
|
||
|
|
#### Scenario: Claude Code requirement
|
||
|
|
|
||
|
|
- **WHEN** user checks prerequisites
|
||
|
|
- **THEN** documentation states Claude Code must be installed
|
||
|
|
- **AND** provides link or reference to Claude Code installation
|
||
|
|
|
||
|
|
#### Scenario: System requirements for PDF conversion
|
||
|
|
|
||
|
|
- **WHEN** user checks prerequisites for PDF features
|
||
|
|
- **THEN** documentation mentions Pandoc and LaTeX requirements
|
||
|
|
- **AND** notes these are optional (only needed for `/convert-cover-letter`)
|
||
|
|
|
||
|
|
### Requirement: Setup Instructions
|
||
|
|
|
||
|
|
The system documentation SHALL provide step-by-step setup instructions.
|
||
|
|
|
||
|
|
#### Scenario: Initial setup steps
|
||
|
|
|
||
|
|
- **WHEN** user follows setup instructions
|
||
|
|
- **THEN** instructions include:
|
||
|
|
1. Install Claude Code (prerequisite)
|
||
|
|
2. Create working directory (e.g., "my-applications")
|
||
|
|
3. Copy contents of src/ directory to working directory
|
||
|
|
4. Navigate to working directory in terminal
|
||
|
|
|
||
|
|
#### Scenario: Profile configuration step
|
||
|
|
|
||
|
|
- **WHEN** user reaches profile setup in instructions
|
||
|
|
- **THEN** documentation instructs them to fill out profile.md
|
||
|
|
- **AND** explains profile.md contains personal and professional information
|
||
|
|
- **AND** provides shortcut: create subdirectory with existing CV/docs and ask Claude to help populate profile
|
||
|
|
|
||
|
|
#### Scenario: Profile shortcut explanation
|
||
|
|
|
||
|
|
- **WHEN** user wants help filling out profile
|
||
|
|
- **THEN** documentation suggests:
|
||
|
|
- Create subdirectory (e.g., "documents/")
|
||
|
|
- Add existing CVs, certificates, portfolio materials
|
||
|
|
- Prompt Claude: "Please read all documents in documents/ and help me fill out profile.md"
|
||
|
|
- **AND** explains Claude will extract and structure information automatically
|
||
|
|
|
||
|
|
### Requirement: Workflow Documentation
|
||
|
|
|
||
|
|
The system documentation SHALL document the complete application workflow with all implemented slash commands.
|
||
|
|
|
||
|
|
#### Scenario: Command reference
|
||
|
|
|
||
|
|
- **WHEN** user reviews available commands
|
||
|
|
- **THEN** documentation lists each implemented slash command:
|
||
|
|
- `/validate-profile` - Check profile completeness
|
||
|
|
- `/new-application "Company - Job Title"` - Create application workspace
|
||
|
|
- `/populate-application` - Analyze job documents and generate strategy
|
||
|
|
- `/validate-application` - Verify application readiness
|
||
|
|
- `/write-cover-letter` - Generate tailored cover letter
|
||
|
|
- `/convert-cover-letter` - Convert to Swiss format PDF
|
||
|
|
- `/write-application-email` - Generate professional application email
|
||
|
|
|
||
|
|
#### Scenario: Complete workflow example
|
||
|
|
|
||
|
|
- **WHEN** user reads workflow section
|
||
|
|
- **THEN** documentation provides end-to-end example:
|
||
|
|
1. Validate profile
|
||
|
|
2. Create new application
|
||
|
|
3. Add job posting to input/ folder
|
||
|
|
4. Populate application with analysis
|
||
|
|
5. Review and refine application.md
|
||
|
|
6. Validate application
|
||
|
|
7. Generate cover letter
|
||
|
|
8. Convert cover letter to PDF
|
||
|
|
9. Add PDF and CV to attachments/
|
||
|
|
10. Generate application email
|
||
|
|
11. Review and send
|
||
|
|
|
||
|
|
#### Scenario: Command usage examples
|
||
|
|
|
||
|
|
- **WHEN** user reads about a specific command
|
||
|
|
- **THEN** documentation includes:
|
||
|
|
- Command syntax with parameters
|
||
|
|
- Example usage with realistic values
|
||
|
|
- Expected output or result
|
||
|
|
- Common flags (--force, --skip-validation)
|
||
|
|
|
||
|
|
### Requirement: Quick Start Guide
|
||
|
|
|
||
|
|
The system documentation SHALL provide a condensed quick start guide for experienced users.
|
||
|
|
|
||
|
|
#### Scenario: Minimal setup path
|
||
|
|
|
||
|
|
- **WHEN** user follows quick start
|
||
|
|
- **THEN** guide shows fastest path to first application:
|
||
|
|
1. Copy src/ to working directory
|
||
|
|
2. Fill out profile.md
|
||
|
|
3. Run `/new-application "Company - Role"`
|
||
|
|
4. Add job posting to input/
|
||
|
|
5. Run `/populate-application`
|
||
|
|
6. Run `/write-cover-letter`
|
||
|
|
|
||
|
|
#### Scenario: Quick start assumptions
|
||
|
|
|
||
|
|
- **WHEN** quick start is presented
|
||
|
|
- **THEN** it assumes user has Claude Code installed
|
||
|
|
- **AND** assumes basic familiarity with terminal/CLI
|
||
|
|
|
||
|
|
### Requirement: Directory Structure Documentation
|
||
|
|
|
||
|
|
The system documentation SHALL explain the directory structure users will work with.
|
||
|
|
|
||
|
|
#### Scenario: Working directory structure
|
||
|
|
|
||
|
|
- **WHEN** user reviews directory structure
|
||
|
|
- **THEN** documentation shows example structure:
|
||
|
|
```
|
||
|
|
my-applications/
|
||
|
|
├── profile.md (your information)
|
||
|
|
├── CLAUDE.md (AI instructions)
|
||
|
|
├── .claude/
|
||
|
|
│ ├── commands/ (slash commands)
|
||
|
|
│ └── templates/
|
||
|
|
└── applications/
|
||
|
|
└── pending/
|
||
|
|
└── 2025-11-10-Company-Role/
|
||
|
|
├── application.md (strategy)
|
||
|
|
├── input/ (job posting, etc.)
|
||
|
|
├── cover-letter.md
|
||
|
|
├── application-email.md
|
||
|
|
└── attachments/ (PDFs, CV)
|
||
|
|
```
|
||
|
|
|
||
|
|
#### Scenario: Folder purpose explanation
|
||
|
|
|
||
|
|
- **WHEN** user reads about directory structure
|
||
|
|
- **THEN** documentation explains purpose of each key folder:
|
||
|
|
- `profile.md` - User's professional profile (single source of truth)
|
||
|
|
- `applications/pending/` - Active job applications
|
||
|
|
- `input/` - Job postings and research materials
|
||
|
|
- `attachments/` - Final PDFs ready to send
|
||
|
|
|
||
|
|
### Requirement: Troubleshooting Section
|
||
|
|
|
||
|
|
The system documentation SHALL provide troubleshooting guidance for common issues.
|
||
|
|
|
||
|
|
#### Scenario: Profile validation failures
|
||
|
|
|
||
|
|
- **WHEN** user encounters profile validation errors
|
||
|
|
- **THEN** documentation explains common issues:
|
||
|
|
- Incomplete required sections
|
||
|
|
- Placeholder text remaining
|
||
|
|
- **AND** suggests running `/validate-profile` to identify issues
|
||
|
|
|
||
|
|
#### Scenario: PDF conversion issues
|
||
|
|
|
||
|
|
- **WHEN** user has PDF conversion problems
|
||
|
|
- **THEN** documentation references:
|
||
|
|
- Pandoc installation requirements
|
||
|
|
- LaTeX installation requirements
|
||
|
|
- Links to /convert-cover-letter command documentation in CLAUDE.md
|
||
|
|
|
||
|
|
### Requirement: No Unimplemented Features
|
||
|
|
|
||
|
|
The system documentation SHALL NOT reference features that are not implemented.
|
||
|
|
|
||
|
|
#### Scenario: Only implemented commands
|
||
|
|
|
||
|
|
- **WHEN** documentation lists available commands
|
||
|
|
- **THEN** it includes only commands that exist in src/.claude/commands/
|
||
|
|
- **AND** does not mention planned but unimplemented features
|
||
|
|
|
||
|
|
#### Scenario: No CV generation workflow
|
||
|
|
|
||
|
|
- **WHEN** documentation describes workflow
|
||
|
|
- **THEN** it does NOT include automated CV generation steps
|
||
|
|
- **AND** assumes user provides their own CV file to attachments/
|
||
|
|
|
||
|
|
#### Scenario: Honest feature status
|
||
|
|
|
||
|
|
- **WHEN** documentation mentions future features
|
||
|
|
- **THEN** they are clearly marked as "Coming soon" or "Planned"
|
||
|
|
- **AND** not included in main workflow instructions
|
||
|
|
|
||
|
|
### Requirement: Practical Examples
|
||
|
|
|
||
|
|
The system documentation SHALL use realistic examples that reflect actual usage.
|
||
|
|
|
||
|
|
#### Scenario: Example company and job title
|
||
|
|
|
||
|
|
- **WHEN** documentation shows command examples
|
||
|
|
- **THEN** uses realistic company names and job titles
|
||
|
|
- **AND** shows actual command syntax (e.g., `/new-application "TechCorp - Senior Developer"`)
|
||
|
|
|
||
|
|
#### Scenario: Example workflow narrative
|
||
|
|
|
||
|
|
- **WHEN** documentation walks through complete workflow
|
||
|
|
- **THEN** uses consistent example throughout:
|
||
|
|
- Applying to specific company
|
||
|
|
- Using actual job title
|
||
|
|
- Showing realistic file contents where helpful
|
||
|
|
|
||
|
|
### Requirement: Accessibility
|
||
|
|
|
||
|
|
The system documentation SHALL be accessible to users with varying technical backgrounds.
|
||
|
|
|
||
|
|
#### Scenario: Clear language
|
||
|
|
|
||
|
|
- **WHEN** user reads documentation
|
||
|
|
- **THEN** language is clear and jargon-free
|
||
|
|
- **AND** technical terms are explained when first introduced
|
||
|
|
|
||
|
|
#### Scenario: Progressive detail
|
||
|
|
|
||
|
|
- **WHEN** documentation presents information
|
||
|
|
- **THEN** starts with high-level overview
|
||
|
|
- **AND** provides detailed steps afterward
|
||
|
|
- **AND** allows users to skip to sections relevant to them
|
||
|
|
|
||
|
|
### Requirement: Maintenance Notes
|
||
|
|
|
||
|
|
The system documentation SHALL include guidance on keeping the profile updated.
|
||
|
|
|
||
|
|
#### Scenario: Profile maintenance reminder
|
||
|
|
|
||
|
|
- **WHEN** user completes initial setup
|
||
|
|
- **THEN** documentation reminds them to keep profile.md current
|
||
|
|
- **AND** suggests updating after new projects, certifications, or role changes
|
||
|
|
|
||
|
|
#### Scenario: Framework updates
|
||
|
|
|
||
|
|
- **WHEN** documentation discusses framework usage
|
||
|
|
- **THEN** mentions that src/ directory contains the framework source
|
||
|
|
- **AND** notes updates should be applied by copying updated src/ files (with care not to overwrite user data)
|