diff --git a/databricks_template_schema.json b/databricks_template_schema.json new file mode 100644 index 0000000..c127c86 --- /dev/null +++ b/databricks_template_schema.json @@ -0,0 +1,77 @@ +{ + "properties": { + "project_name": { + "type": "string", + "description": "Project Name", + "order": 1, + "pattern": "^[A-Za-z0-9_-]+$", + "pattern_match_failure_message": "Name must consist of letters, numbers, underscores, or hyphens." + }, + "sql_warehouse_id": { + "type": "string", + "description": "SQL Warehouse ID", + "order": 2 + }, + "profile": { + "type": "string", + "description": "Profile Name", + "default": "", + "order": 3 + }, + "app_description": { + "type": "string", + "description": "App Description (Optional)", + "default": "A Databricks App powered by Databricks AppKit", + "order": 4 + }, + "dotenv": { + "type": "string", + "description": "Additional .env content", + "default": "", + "hidden": true + }, + "dotenv_example": { + "type": "string", + "description": "Additional .env.example content", + "default": "", + "hidden": true + }, + "app_env": { + "type": "string", + "description": "App environment variables for app.yaml", + "default": "", + "hidden": true + }, + "bundle_variables": { + "type": "string", + "description": "Additional bundle variables", + "default": "", + "hidden": true + }, + "bundle_resources": { + "type": "string", + "description": "Additional bundle resources", + "default": "", + "hidden": true + }, + "target_variables": { + "type": "string", + "description": "Target-specific variables", + "default": "", + "hidden": true + }, + "plugin_import": { + "type": "string", + "description": "Plugin imports for server.ts", + "default": "analytics", + "hidden": true + }, + "plugin_usage": { + "type": "string", + "description": "Plugin usage in createApp", + "default": "analytics()", + "hidden": true + } + }, + "success_message": "\nYour new project has been created in the '{{.project_name}}' directory!" +} diff --git a/template/.env.example.tmpl b/template/{{.project_name}}/.env.example.tmpl similarity index 100% rename from template/.env.example.tmpl rename to template/{{.project_name}}/.env.example.tmpl diff --git a/template/.env.tmpl b/template/{{.project_name}}/.env.tmpl similarity index 100% rename from template/.env.tmpl rename to template/{{.project_name}}/.env.tmpl diff --git a/template/.gitignore.tmpl b/template/{{.project_name}}/.gitignore.tmpl similarity index 100% rename from template/.gitignore.tmpl rename to template/{{.project_name}}/.gitignore.tmpl diff --git a/template/.prettierignore b/template/{{.project_name}}/.prettierignore similarity index 100% rename from template/.prettierignore rename to template/{{.project_name}}/.prettierignore diff --git a/template/.prettierrc.json b/template/{{.project_name}}/.prettierrc.json similarity index 100% rename from template/.prettierrc.json rename to template/{{.project_name}}/.prettierrc.json diff --git a/template/README.md b/template/{{.project_name}}/README.md similarity index 100% rename from template/README.md rename to template/{{.project_name}}/README.md diff --git a/template/app.yaml.tmpl b/template/{{.project_name}}/app.yaml.tmpl similarity index 100% rename from template/app.yaml.tmpl rename to template/{{.project_name}}/app.yaml.tmpl diff --git a/template/client/components.json b/template/{{.project_name}}/client/components.json similarity index 100% rename from template/client/components.json rename to template/{{.project_name}}/client/components.json diff --git a/template/client/index.html b/template/{{.project_name}}/client/index.html similarity index 100% rename from template/client/index.html rename to template/{{.project_name}}/client/index.html diff --git a/template/client/postcss.config.js b/template/{{.project_name}}/client/postcss.config.js similarity index 100% rename from template/client/postcss.config.js rename to template/{{.project_name}}/client/postcss.config.js diff --git a/template/client/public/apple-touch-icon.png b/template/{{.project_name}}/client/public/apple-touch-icon.png similarity index 100% rename from template/client/public/apple-touch-icon.png rename to template/{{.project_name}}/client/public/apple-touch-icon.png diff --git a/template/client/public/favicon-16x16.png b/template/{{.project_name}}/client/public/favicon-16x16.png similarity index 100% rename from template/client/public/favicon-16x16.png rename to template/{{.project_name}}/client/public/favicon-16x16.png diff --git a/template/client/public/favicon-192x192.png b/template/{{.project_name}}/client/public/favicon-192x192.png similarity index 100% rename from template/client/public/favicon-192x192.png rename to template/{{.project_name}}/client/public/favicon-192x192.png diff --git a/template/client/public/favicon-32x32.png b/template/{{.project_name}}/client/public/favicon-32x32.png similarity index 100% rename from template/client/public/favicon-32x32.png rename to template/{{.project_name}}/client/public/favicon-32x32.png diff --git a/template/client/public/favicon-48x48.png b/template/{{.project_name}}/client/public/favicon-48x48.png similarity index 100% rename from template/client/public/favicon-48x48.png rename to template/{{.project_name}}/client/public/favicon-48x48.png diff --git a/template/client/public/favicon-512x512.png b/template/{{.project_name}}/client/public/favicon-512x512.png similarity index 100% rename from template/client/public/favicon-512x512.png rename to template/{{.project_name}}/client/public/favicon-512x512.png diff --git a/template/client/public/favicon.svg b/template/{{.project_name}}/client/public/favicon.svg similarity index 100% rename from template/client/public/favicon.svg rename to template/{{.project_name}}/client/public/favicon.svg diff --git a/template/client/public/site.webmanifest b/template/{{.project_name}}/client/public/site.webmanifest similarity index 100% rename from template/client/public/site.webmanifest rename to template/{{.project_name}}/client/public/site.webmanifest diff --git a/template/client/src/App.tsx b/template/{{.project_name}}/client/src/App.tsx similarity index 100% rename from template/client/src/App.tsx rename to template/{{.project_name}}/client/src/App.tsx diff --git a/template/client/src/ErrorBoundary.tsx b/template/{{.project_name}}/client/src/ErrorBoundary.tsx similarity index 100% rename from template/client/src/ErrorBoundary.tsx rename to template/{{.project_name}}/client/src/ErrorBoundary.tsx diff --git a/template/client/src/index.css b/template/{{.project_name}}/client/src/index.css similarity index 100% rename from template/client/src/index.css rename to template/{{.project_name}}/client/src/index.css diff --git a/template/client/src/lib/utils.ts b/template/{{.project_name}}/client/src/lib/utils.ts similarity index 100% rename from template/client/src/lib/utils.ts rename to template/{{.project_name}}/client/src/lib/utils.ts diff --git a/template/client/src/main.tsx b/template/{{.project_name}}/client/src/main.tsx similarity index 100% rename from template/client/src/main.tsx rename to template/{{.project_name}}/client/src/main.tsx diff --git a/template/client/src/vite-env.d.ts b/template/{{.project_name}}/client/src/vite-env.d.ts similarity index 100% rename from template/client/src/vite-env.d.ts rename to template/{{.project_name}}/client/src/vite-env.d.ts diff --git a/template/client/tailwind.config.ts b/template/{{.project_name}}/client/tailwind.config.ts similarity index 100% rename from template/client/tailwind.config.ts rename to template/{{.project_name}}/client/tailwind.config.ts diff --git a/template/client/vite.config.ts b/template/{{.project_name}}/client/vite.config.ts similarity index 100% rename from template/client/vite.config.ts rename to template/{{.project_name}}/client/vite.config.ts diff --git a/template/config/queries/hello_world.sql b/template/{{.project_name}}/config/queries/hello_world.sql similarity index 100% rename from template/config/queries/hello_world.sql rename to template/{{.project_name}}/config/queries/hello_world.sql diff --git a/template/config/queries/mocked_sales.sql b/template/{{.project_name}}/config/queries/mocked_sales.sql similarity index 100% rename from template/config/queries/mocked_sales.sql rename to template/{{.project_name}}/config/queries/mocked_sales.sql diff --git a/template/databricks.yml.tmpl b/template/{{.project_name}}/databricks.yml.tmpl similarity index 100% rename from template/databricks.yml.tmpl rename to template/{{.project_name}}/databricks.yml.tmpl diff --git a/template/eslint.config.js b/template/{{.project_name}}/eslint.config.js similarity index 100% rename from template/eslint.config.js rename to template/{{.project_name}}/eslint.config.js diff --git a/template/features/analytics/app_env.yml b/template/{{.project_name}}/features/analytics/app_env.yml similarity index 100% rename from template/features/analytics/app_env.yml rename to template/{{.project_name}}/features/analytics/app_env.yml diff --git a/template/features/analytics/bundle_resources.yml b/template/{{.project_name}}/features/analytics/bundle_resources.yml similarity index 100% rename from template/features/analytics/bundle_resources.yml rename to template/{{.project_name}}/features/analytics/bundle_resources.yml diff --git a/template/features/analytics/bundle_variables.yml b/template/{{.project_name}}/features/analytics/bundle_variables.yml similarity index 100% rename from template/features/analytics/bundle_variables.yml rename to template/{{.project_name}}/features/analytics/bundle_variables.yml diff --git a/template/features/analytics/dotenv.yml b/template/{{.project_name}}/features/analytics/dotenv.yml similarity index 100% rename from template/features/analytics/dotenv.yml rename to template/{{.project_name}}/features/analytics/dotenv.yml diff --git a/template/features/analytics/dotenv_example.yml b/template/{{.project_name}}/features/analytics/dotenv_example.yml similarity index 100% rename from template/features/analytics/dotenv_example.yml rename to template/{{.project_name}}/features/analytics/dotenv_example.yml diff --git a/template/features/analytics/target_variables.yml b/template/{{.project_name}}/features/analytics/target_variables.yml similarity index 100% rename from template/features/analytics/target_variables.yml rename to template/{{.project_name}}/features/analytics/target_variables.yml diff --git a/template/package.json b/template/{{.project_name}}/package.json.tmpl similarity index 100% rename from template/package.json rename to template/{{.project_name}}/package.json.tmpl diff --git a/template/playwright.config.ts b/template/{{.project_name}}/playwright.config.ts similarity index 100% rename from template/playwright.config.ts rename to template/{{.project_name}}/playwright.config.ts diff --git a/template/server/server.ts b/template/{{.project_name}}/server/server.ts.tmpl similarity index 100% rename from template/server/server.ts rename to template/{{.project_name}}/server/server.ts.tmpl diff --git a/template/tests/smoke.spec.ts b/template/{{.project_name}}/tests/smoke.spec.ts similarity index 100% rename from template/tests/smoke.spec.ts rename to template/{{.project_name}}/tests/smoke.spec.ts diff --git a/template/tsconfig.client.json b/template/{{.project_name}}/tsconfig.client.json similarity index 100% rename from template/tsconfig.client.json rename to template/{{.project_name}}/tsconfig.client.json diff --git a/template/tsconfig.json b/template/{{.project_name}}/tsconfig.json similarity index 100% rename from template/tsconfig.json rename to template/{{.project_name}}/tsconfig.json diff --git a/template/tsconfig.server.json b/template/{{.project_name}}/tsconfig.server.json similarity index 100% rename from template/tsconfig.server.json rename to template/{{.project_name}}/tsconfig.server.json diff --git a/template/tsconfig.shared.json b/template/{{.project_name}}/tsconfig.shared.json similarity index 100% rename from template/tsconfig.shared.json rename to template/{{.project_name}}/tsconfig.shared.json diff --git a/template/vitest.config.ts b/template/{{.project_name}}/vitest.config.ts similarity index 100% rename from template/vitest.config.ts rename to template/{{.project_name}}/vitest.config.ts