Automated tool for creating Platform.Bible extensions
Reduces extension setup from ~30 manual steps to a single command, handling everything from environment validation to git workflow configuration.
| Component | Description |
|---|---|
| Tool | create-paranext-extension.sh |
| Version | 2.1.0 |
| Status | Under evaluation - testing in progress |
| Created | With assistance from Claude Sonnet 4.5 |
| Platform | Platform.Bible Extension Development |
# Make executable (first time only)
chmod +x create-paranext-extension.sh
# Run interactively
./create-paranext-extension.shFor detailed usage instructions, see Quick Start Guide.
- Quick Start Guide - TL;DR examples and common scenarios
- Script Usage Guide - Command-line options and detailed usage
- Workspace Setup Guide - Platform.Bible development environment setup
- CPE Specification - Single source of truth for the tool (human and machine-readable)
- Design Rationale - Why CPE exists and how it addresses the 30-step setup challenge
- Manual Extension Setup - Step-by-step manual process (for reference)
- Test Suite - Comprehensive test suite (92 tests covering unit, integration, error handling, and validation)
- Changelog - Version history and changes
- Review Findings - Code review results and improvements
- Update Summary - Detailed v2.0 improvements
| Feature | Description |
|---|---|
| Dynamic Versioning | Auto-detects latest stable Platform.Bible release or targets specific versions |
| Multi-Template Support | Choose between basic (single) or multi-extension project structures |
| Safety Checks | Warns about existing extensions before updating paranext-core |
| Smart Management | Reuses existing paranext-core instead of re-cloning |
| Best Practices | Follows Paranext team recommendations (keeps git history, sets up template remote) |
| Full Automation | Handles naming, file updates, dependencies, and build verification |
A complete, ready-to-develop extension with:
- TypeScript + React setup
- Tailwind CSS styling
- Proper project structure
- Git workflow configured for template updates
- Ready to launch with Platform.Bible (via
npm start) - Welcome screen with next steps
See Output Specification for complete details.
| Software | Version | Status | Purpose |
|---|---|---|---|
| Node.js | 18.0+ (22.15.1+ recommended) | Required | JavaScript runtime |
| npm | Any | Required | Package management |
| Git | Any | Required | Version control |
| curl | Any | Recommended* | Dynamic version detection |
| .NET SDK | 8.0+ | Recommended | Platform.Bible core |
*Falls back to v0.5.0 if curl unavailable
- Linux/macOS: Native bash script execution
- Windows: Requires Git Bash (included with Git for Windows)
- Run the script in Git Bash terminal
- Git Bash provides a Unix-like environment on Windows
See Prerequisites for details.
./create-paranext-extension.sh
# Guided prompts for all options# Latest version, basic template
./create-paranext-extension.sh --name "My Extension" --author "Your Name"
# Specific version, multi-extension template
./create-paranext-extension.sh --name "My Tools" --version v0.5.0 --template multi
# Fast setup (skip optional steps)
./create-paranext-extension.sh --name "Test" --skip-deps --skip-testSee Usage Guide for all options.
create-paranext-extension/
├── create-paranext-extension.sh # Main automation script
├── README.md # This file (repository overview)
├── docs/
│ ├── guides/ # User guides
│ │ ├── QUICK_START.md # Fast getting-started guide
│ │ ├── USAGE.md # Detailed script usage
│ │ └── WORKSPACE_SETUP.md # Environment setup
│ ├── reference/ # Reference documentation
│ │ ├── SPECIFICATION.md # Complete CPE specification
│ │ ├── DESIGN_RATIONALE.md # Design decisions and philosophy
│ │ └── MANUAL_SETUP.md # Manual process reference
│ └── development/ # Development documentation
│ ├── CHANGELOG.md # Version history
│ ├── REVIEW_FINDINGS.md # Code review results
│ └── UPDATE_SUMMARY.md # Detailed v2.0 changes
└── tests/
├── test-runner.sh # Main test orchestrator (92 tests)
├── test-helpers.sh # Common test utilities
├── test-unit.sh # Unit tests
├── test-integration.sh # Integration tests
├── test-error-handling.sh # Error handling tests
├── test-validation.sh # Validation tests
└── README.md # Test documentation
- Simplify Extension Development - Remove setup friction, enable focus on functionality
- Encode Best Practices - Apply Paranext team recommendations automatically
- Support Multiple Workflows - Interactive exploration or automated CI/CD
- Enable Future Implementations - Specification supports Python, Node.js, etc.
See Design Philosophy for details.
Current Version: 2.1.0 (February 2026)
Major improvements in v2.0:
- Dynamic version detection via GitHub API
- Multi-template support (basic/multi)
- Existing extension safety checks
- Smart paranext-core management
- Template remote setup for updates
See Changelog for complete history.
The project includes a comprehensive test suite with 92 tests:
# Run all tests
./tests/test-runner.sh
# Run specific test suite
./tests/test-runner.sh --suite unit
./tests/test-runner.sh --suite integration
./tests/test-runner.sh --suite error-handling
./tests/test-runner.sh --suite validation
# Verbose output
./tests/test-runner.sh --verboseSee Test Suite Documentation for detailed information.
Contributions welcome! Areas of interest:
- Bug reports and feature requests
- Documentation improvements
- Multi-language implementations (Python, Node.js)
- Additional templates and customizations
- Test coverage improvements
See CPE Specification for implementation guidance.
Follows Platform.Bible licensing.
- Platform.Bible Core
- Extension Template (Basic)
- Extension Template (Multi)
- Platform.Bible Documentation
Quick Links: Quick Start • Specification • Design Rationale • Changelog