scaffold_macos_project
Quickly generate a structured macOS Xcode project with workspace, SPM package, and proper configuration. Specify project name, output path, bundle ID, display name, and deployment target for customization.
Instructions
Scaffold a new macOS project from templates. Creates a modern Xcode project with workspace structure, SPM package for features, and proper macOS configuration.
Input Schema
Name | Required | Description | Default |
---|---|---|---|
bundleIdentifier | No | Bundle identifier (e.g., com.example.myapp). If not provided, will use com.example.projectname | |
currentProjectVersion | No | Build number (e.g., 1, 42, 100). If not provided, will use 1 | |
customizeNames | No | Whether to customize project names and identifiers. Default is true. | |
deploymentTarget | No | macOS deployment target (e.g., 15.4, 14.0). If not provided, will use 15.4 | |
displayName | No | App display name (shown on home screen/dock). If not provided, will use projectName | |
marketingVersion | No | Marketing version (e.g., 1.0, 2.1.3). If not provided, will use 1.0 | |
outputPath | Yes | Path where the project should be created | |
projectName | Yes | Name of the new project |
Input Schema (JSON Schema)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"bundleIdentifier": {
"description": "Bundle identifier (e.g., com.example.myapp). If not provided, will use com.example.projectname",
"type": "string"
},
"currentProjectVersion": {
"description": "Build number (e.g., 1, 42, 100). If not provided, will use 1",
"type": "string"
},
"customizeNames": {
"default": true,
"description": "Whether to customize project names and identifiers. Default is true.",
"type": "boolean"
},
"deploymentTarget": {
"description": "macOS deployment target (e.g., 15.4, 14.0). If not provided, will use 15.4",
"type": "string"
},
"displayName": {
"description": "App display name (shown on home screen/dock). If not provided, will use projectName",
"type": "string"
},
"marketingVersion": {
"description": "Marketing version (e.g., 1.0, 2.1.3). If not provided, will use 1.0",
"type": "string"
},
"outputPath": {
"description": "Path where the project should be created",
"type": "string"
},
"projectName": {
"description": "Name of the new project",
"minLength": 1,
"type": "string"
}
},
"required": [
"projectName",
"outputPath"
],
"type": "object"
}