New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

@qwik.dev/create-astro

Package Overview
Dependencies
Maintainers
7
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@qwik.dev/create-astro

Interactive CLI for creating @qwik.dev/astro projects.

latest
Source
npmnpm
Version
1.0.2
Version published
Weekly downloads
148
-1.99%
Maintainers
7
Weekly downloads
 
Created
Source

Create @qwik.dev/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.

Quickstart 🎉

Have an existing project?

If you already have an existing Astro project and want to add the integration, you can do so with the following command:

npm create @qwik.dev/astro@latest add

Create a new project

To create a brand new project, you can use the following command:

npm create @qwik.dev/astro@latest

Upgrade from v1

If you have an existing v1 project (@builder.io/qwik + @qwikdev/astro), you can upgrade to v2 with:

npm create @qwik.dev/astro@latest upgrade

🚀 Installation & Usage

🧑‍💻 Usage

The CLI has three entry points:

Create a new project

npm create @qwik.dev/astro@latest [destination] [adapter] [...options]

Add Qwik to an existing Astro project

npm create @qwik.dev/astro@latest add [directory] [--dry-run] [--yes] [--no]

Upgrade a v1 project

npm create @qwik.dev/astro@latest upgrade [directory] [--dry-run] [--yes] [--no]

Replace npm create with pnpm create, yarn create, or bun create if you prefer a different package manager.

🛠️ Command Reference

Create Arguments

Customize the create command with the following arguments:

NameTypeDefault valueDescription
destinationString./qwik-astro-appDirectory of the project.
adapter"deno" or "node" or "none"noneServer adapter.

Create Options

Enhance your project setup with these additional flags:

NameShortcutDescription
--help-hDisplay all available options.
--template-tUse an Astro template.
--add / --no-add-a / --no-aLegacy add flow. Prefer the add subcommand.
--force / --no-force-f / --no-fOverwrite target directory, if needed.
--copy / --no-copy-c / --no-cCopy files without overwriting.
--biome / --no-biomeUse Biome instead of ESLint/Prettier.
--install / --no-install-i / --no-iAutomatically install dependencies.
--git / --no-gitUse Git to save changes.
--ci / --no-ciAdd CI workflow.
--yes-yAccept all default configurations.
--no-nDecline all default configurations.
--dry-runSimulate the setup process without executing.

Add Arguments

Use the add command to target an existing Astro project:

NameTypeDefault valueDescription
directoryString.Project directory to add Qwik.

Add Options

NameShortcutDescription
--help-hDisplay all available options.
--dry-runSimulate the add flow without executing it.
--yes-yAccept defaults and skip prompts.
--no-nDecline defaults and skip prompts when valid.

Upgrade Arguments

Use the upgrade command to target an existing v1 project:

NameTypeDefault valueDescription
directoryString.Project directory to upgrade.

Upgrade Options

NameShortcutDescription
--help-hDisplay all available options.
--dry-runShow planned changes without modifying files.
--yes-yAccept defaults and continue without prompting.
--no-nDecline defaults and abort when prompts would be required.

💡 Examples

The easiest way to explore QwikDev/Astro on your machine is by running the following command:

npm create @qwik.dev/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 @qwik.dev/astro@latest my-project
    

    To skip all prompts and initialize without a template automatically:

    npm create @qwik.dev/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 subcommand:

    npm create @qwik.dev/astro@latest add ./my-existing-project
    

    To target the current directory, omit the path:

    npm create @qwik.dev/astro@latest add
    
  • Use an Official Template

    You can initialize a project with a pre-built template (e.g., minimal, portfolio, starlight, blog, etc.):

    npm create @qwik.dev/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 @qwik.dev/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 @qwik.dev/astro@latest --template <user>/<repo>/path/to/example
    
  • Advanced Use Cases

    You can combine multiple flags on the create flow to set up your project exactly as needed:

    npm create @qwik.dev/astro@latest my-project --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 '@qwik.dev/create-astro';
    
    createQwikAstro();
    
  • With Custom Arguments

    Specify arguments directly:

    import { run } from '@qwik.dev/create-astro';
    
    // Create a new project
    run(["node", "cli", "./qwik-astro-app", "node"]);
    
    // Add to existing project
    run(["node", "cli", "add", "./my-project"]);
    
    // Upgrade from v1
    run(["node", "cli", "upgrade", "./my-project"]);
    
  • Sub-path Exports

    Fine-grained access to individual commands:

    import { app } from '@qwik.dev/create-astro/app';
    import { add } from '@qwik.dev/create-astro/add';
    import { upgrade } from '@qwik.dev/create-astro/upgrade';
    
  • Definition Types

    Define the structure of the create, add, and upgrade commands:

    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;
    };
    
    export type AddDefinition = {
      directory: string;
      dryRun?: boolean;
      yes?: boolean;
      no?: boolean;
    };
    
    export type UpgradeDefinition = {
      directory: string;
      dryRun?: boolean;
      yes?: boolean;
      no?: boolean;
    };
    
  • Default Settings

    Here are the default configurations:

    export const defaultDefinition = {
      destination: "./qwik-astro-app",
      adapter: "none",
      template: undefined,
      add: undefined,
      force: undefined,
      copy: undefined,
      biome: undefined,
      install: undefined,
      git: undefined,
      ci: undefined,
      yes: undefined,
      no: undefined,
      dryRun: undefined
    } as const;
    
    export const defaultAddDefinition = {
      directory: ".",
      dryRun: undefined,
      yes: undefined,
      no: undefined
    } as const;
    
    export const defaultUpgradeDefinition = {
      directory: ".",
      dryRun: undefined,
      yes: undefined,
      no: undefined
    } as const;
    

🌐 Community

Keywords

astro-integration

FAQs

Package last updated on 31 Mar 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts