A cross-platform form creation and filling application that makes it easy for office workers to create typical office forms without the hassle of editing PDFs, wrangling Word form fields and tables, or dealing with weird PDF form rendering issues.
PromptResponse (.apr format) breaks free from the page metaphor. Traditional forms trap your data in formats that are frustrating to work with and difficult to process. PromptResponse solves this with a flexible, portable, text-based format designed for:
Solving Daily Frustrations:
- Office Workers: Create and fill forms without fighting PDF editors, Word tables, or Excel protection schemes
- Database Integration: JSON format imports directly into databases - no parsing headaches
- Online Submissions: Submit forms to S3 or webhooks without building custom CRUD apps for every form
- Programmatic Filling: Easy API for automated form filling from scripts or other systems
Better by Design:
- Flexible: No fixed layouts or styling - forms adapt to any screen
- Portable: Simple JSON that's easy to parse and transform
- Accessible: WCAG 2.1 Level AA compliance built-in
- Semantic: Organized by sections and prompts for meaningful structure
- Safe: Pure data format - no code execution, safe to open untrusted files
- Template Creation: Design reusable form templates without fighting layout tools
- Form Filling: Fill out forms with intelligent input assistance
- Direct Submission: Submit filled forms to S3 or webhooks - no server code needed
- Database-Ready: JSON format imports directly into databases without parsing headaches
- Programmatic API: Fill forms from scripts, batch processes, or other applications
- Type Hints: Suggest data types without enforcing them
- Cross-Platform: Linux, Windows (macOS, Android, iOS planned)
- Open Format: JSON subset for maximum interoperability
Try PromptResponse in 30 seconds with just Python:
# Clone and run
git clone https://github.com/marctjones/promptresponse.git
cd promptresponse
./run-aprt-server.shOpen http://localhost:8080 in your browser to see a form. Fill it out and submit - the JSON data prints to your terminal.
Requirements: Python 3 (Flask is auto-installed)
# Prerequisites: .NET 8.0 SDK
dotnet --version # Should be 8.0 or higher
# Clone repository
git clone https://github.com/marctjones/promptresponse.git
cd promptresponse
# Build
dotnet build
# Run tests
dotnet testUse the provided launcher scripts for the easiest experience:
Linux/macOS:
./run.sh # Launch GUI application
./run.sh --demo # Run interactive CLI demos
./run.sh --validate # Validate example files
./run.sh --help # Show CLI help
./run.sh --usage # Show all launcher optionsWindows:
.\run.ps1 # Launch GUI application
.\run.ps1 demo # Run interactive CLI demos
.\run.ps1 validate # Validate example files
.\run.ps1 help # Show CLI help
.\run.ps1 usage # Show all launcher optionsYou can also run the applications directly:
# Run CLI tool
dotnet run --project src/PromptResponse.Cli -- help
# Run Desktop application
dotnet run --project src/PromptResponse.Desktop- Launch PromptResponse
- Select "New Template"
- Add sections and prompts
- Save as
.aprfile
- Open a template (
.apr) - Choose "Fill Out Form"
- Complete responses
- Save filled form
# Validate a form
dotnet run --project src/PromptResponse.Cli -- validate examples/employment-application.apr
# View form information
dotnet run --project src/PromptResponse.Cli -- info examples/simple-contact-form.apr
# Create a new template
dotnet run --project src/PromptResponse.Cli -- new my-form.aprSee CLI README for complete CLI documentation.
- APR Format Specification v0.2 - Complete formal specification
- CLI Tool Guide - Command-line tool usage
- Usage Guide - Detailed usage instructions
- Development Guide - Contributing and development setup
- File Format Specification - .apr format documentation (legacy)
- Architecture - System design and architecture
- .NET 8.0 - Cross-platform runtime
- C# 12 - Modern language features
- AvaloniaUI 11 - Cross-platform UI framework
- xUnit - Testing framework
Not Licensed
🚧 Active Development - MVP Phase 1
- Project structure
- Core library (Models, Serialization, Validation)
- CLI Tool (validate, info, new commands)
- Desktop UI (Template Editor, Form Filler) - Next phase
- Linux/Windows testing
- Mobile support (future)
See DEVELOPMENT.md for development guidelines and best practices.
Report issues at: https://github.com/marctjones/promptresponse/issues