Add a nodemon.json config to watch src and public (ext: astro, ts, html), add nodemon as a devDependency, and change the package.json "dev" script to run nodemon --config nodemon.json --exec 'astro build' (replacing the previous "astro dev"). Also remove the preview script.
Register unplugin-icons (Icons Vite plugin) in astro.config and add unplugin-icons + @iconify-json/mingcute to devDependencies. Replace inline SVGs in ThemeSwitcher.vue with MingcuteSunLine / MingcuteMoonLine icon components imported from ~icons, and add unplugin-icons types to tsconfig. Also simplify VSCode formatter setting and update package.json accordingly.
Add a new src/components/UserButton.vue and update src/components/Header.astro to integrate UI changes. Add @halo-dev/api-client and ky to package.json and update editor settings to use Prettier for .vue and .astro files. Regenerate pnpm lockfile.