Create @qwikdev/astro 🎉
The Ultimate Starter for QwikDev/Astro Projects
Seamlessly scaffold content-driven web projects with the power of QwikDev/Astro.
Whether you're building blazing-fast blogs, portfolios, or scalable applications,
this CLI has you covered.
🚀 Installation & Usage
🧑💻 Usage
Run the following command using your preferred package manager:
-
With NPM
:
npm create @qwikdev/astro@latest [destination] [adapter] [...options]
-
With Yarn
:
yarn create @qwikdev/astro [destination] [adapter] [...options]
-
With PNPM
:
pnpm create @qwikdev/astro [destination] [adapter] [...options]
-
With Bun
:
bun create @qwikdev/astro [destination] [adapter] [...options]
🛠️ Flags
Arguments
Customize the command with the following arguments:
Name | Type | Default value | Description |
---|
destination | String | ./qwik-astro-app | Directory of the project. |
adapter | "deno" or "node" or "none" | none | Server adapter. |
Options
Enhance your project setup with these additional flags:
Name | Shortcut | Description |
---|
--help | -h | Display all available options. |
--template | -t | Use an Astro template. |
--add / --no-add | -a / --no-a | Add QwikDev/astro to an existing project. |
--force / --no-force | -f / --no-f | Overwrite target directory, if needed. |
--copy / --no-copy | -c / --no-c | Copy files without overwriting. |
--biome / --no-biome | | Use Biome instead of ESLint/Prettier. |
--install / --no-install | -i / --no-i | Automatically install dependencies. |
--git / --no-git | | Initialize a Git repository. |
--ci / --no-ci | | Add CI workflow. |
--yes | -y | Accept all default configurations. |
--no | -n | Decline all default configurations. |
--dry-run | | Simulate the setup process without executing. |
💡 Examples
The easiest way to explore QwikDev/Astro
on your machine is by running the following command:
npm create @qwikdev/astro@latest
-
Start Without Any Template
You can create a project with no template to keep it minimal
or customize it from scratch.
This approach uses only the default starter kit provided by the integration:
npm create @qwikdev/astro@latest my-project
To skip all prompts and initialize without a template automatically:
npm create @qwikdev/astro@latest my-project --yes
-
Add Qwik/Astro to an Existing Project**
If you already have an existing project
and want to integrate QwikDev/Astro without creating a new project,
you can use the --add
option:
npm create @qwikdev/astro@latest my-existing-project --add
-
Use an Official Template
You can initialize a project with a pre-built template
(e.g., minimal, portfolio, starlight, blog, etc.):
npm create @qwikdev/astro@latest --template <name>
The full list of templates is quite long,
so make sure to check it out to find one that fits your project needs.
-
Clone a Specific GitHub Repository
You can use any GitHub repository as a template:
npm create @qwikdev/astro@latest --template <user>/<repo>
For a broader range of community-provided templates,
visit the Awesome Astro repository.
-
Use Nested GitHub Examples
Paths to examples nested inside a GitHub repository are also supported:
npm create @qwikdev/astro@latest --template <user>/<repo>/path/to/example
-
Advanced Use Cases
You can combine multiple flags to set up your project exactly as needed:
npm create @qwikdev/astro my-existing-project --add --copy --template portfolio --yes --no-git --no-ci
📦 API
For developers looking to programmatically access the CLI functionality:
-
Basic Usage
Run the CLI programmatically without arguments:
import createQwikAstro from '@qwikdev/create-astro';
createQwikAstro();
-
With Custom Arguments
Specify arguments directly:
import { run } from '@qwikdev/create-astro';
run(["./qwik-astro-app", "node"]);
-
Definition Types
Define the structure of the CLI options and arguments:
export type Definition = {
destination: string;
adapter?: "deno" | "node" | "none";
template?: string;
add?: boolean;
force?: boolean;
copy?: boolean;
biome?: boolean;
install?: boolean;
git?: boolean;
ci?: boolean;
yes?: boolean;
no?: boolean;
dryRun?: boolean;
};
-
Default Settings
Here are the default configurations:
export const defaultDefinition = {
destination: "./qwik-astro-app",
adapter: "none",
template: "",
add: undefined,
force: undefined,
copy: undefined,
biome: undefined,
install: undefined,
git: undefined,
ci: undefined,
yes: undefined,
no: undefined,
dryRun: undefined
} as const;
🌐 Community
🔗 Related Links