원클릭으로
package-script-writer
// Generate Umbraco CMS installation scripts using the Package Script Writer CLI
// Generate Umbraco CMS installation scripts using the Package Script Writer CLI
Implement UFM (Umbraco Flavored Markdown) components in Umbraco backoffice using official docs
Add a new Umbraco extension project reference to the main Umbraco instance and solution
Understand and use localization in Umbraco backoffice (foundational concept)
Implement property editor UIs in Umbraco backoffice using official docs
Quick setup for Umbraco extension development - creates instance, extension, and registers it
Review checks reference for validating Umbraco backoffice extensions
| name | package-script-writer |
| description | Generate Umbraco CMS installation scripts using the Package Script Writer CLI |
| user_invocable | true |
Generate and run Umbraco CMS installation scripts using the psw CLI tool.
Check if PSW CLI is installed:
psw --version
If command not found, the .NET tools path may not be in PATH. Try:
export PATH="$PATH:$HOME/.dotnet/tools" && psw --version%USERPROFILE%\.dotnet\tools\psw --versionIf not installed, install it:
dotnet tool install --global PackageScriptWriter.Cli
Then run the psw command (see below)
This is the command to use:
export PATH="$PATH:$HOME/.dotnet/tools"
psw -d -n ProjectName -s ProjectName -u --database-type SQLite --admin-email admin@test.com --admin-password SecurePass1234 --auto-run
Run this with run_in_background: true since Umbraco is a long-running web server.
Critical flags:
-d - REQUIRED - generates the full installation script (without this, only dotnet run is generated which fails)-u - use unattended install defaults--auto-run - execute the script immediately-o with --auto-run (truncates the script)Default credentials: admin@test.com / SecurePass1234
psw -d -n ProjectName -s ProjectName -u --database-type SQLite --admin-email admin@test.com --admin-password "SecurePass1234" -p "uSync,Umbraco.Forms" --auto-run
With specific versions:
psw -d -n ProjectName -s ProjectName -u --database-type SQLite --admin-email admin@test.com --admin-password "SecurePass1234" -p "uSync|17.0.0,Umbraco.Forms|17.0.1" --auto-run
Do not use characters that are escapable in passwords or usernames
| Flag | Description |
|---|---|
-d, --default | REQUIRED - generates full installation script |
-n, --project-name | Project name |
-s, --solution | Solution name |
-u, --unattended-defaults | Use unattended install defaults |
--database-type | SQLite, LocalDb, SQLServer, SQLAzure, SQLCE |
--admin-email | Admin email for unattended install |
--admin-password | Admin password for unattended install |
--auto-run | Execute the generated script |
-p, --packages | Comma-separated packages (e.g., "uSync,Umbraco.Forms") |
-t, --template-package | Umbraco template with optional version |
-da, --delivery-api | Enable Content Delivery API |
After running the command in background, poll for readiness:
# Check the output for the port number (e.g., "Now listening on: https://localhost:44356")
# Then poll until ready:
for i in {1..30}; do
if nc -z localhost 44356 2>/dev/null; then
echo "Umbraco is ready!"
break
fi
sleep 2
done
psw versions # Show Umbraco versions with support status
psw history list # Show recent scripts
psw history rerun 1 # Re-run script #1
psw --clear-cache # Clear cached API responses