Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modifiedpublic/apple-touch-icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modifiedpublic/favicon-16x16.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modifiedpublic/favicon-32x32.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modifiedpublic/favicon.ico
Binary file not shown.
23 changes: 14 additions & 9 deletions public/favicon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modifiedpublic/og-default.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
26 changes: 13 additions & 13 deletions public/og-default.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions public/site.webmanifest
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
{
"name": "Create Awesome Node App",
"short_name": "CNA",
"name": "Create Awesome Python App",
"short_name": "CPA",
"theme_color": "#0f172a",
"background_color": "#0f172a",
"display": "standalone",
Expand Down
18 changes: 11 additions & 7 deletions src/app/docs/advanced/usage/page.tsx
Original file line numberDiff line numberDiff line change
Expand Up@@ -153,8 +153,8 @@ graph TD
<section id="monorepo" className="space-y-4 mt-8">
<h2 className="text-2xl font-bold tracking-tight">Monorepo Setup</h2>
<p>
create-awesome-python-app offers the <code>uv-workspace-starter</code> template for Python monorepos with a
single lockfile and shared tooling:
create-awesome-python-app offers the <code>uv-workspace-starter</code> template for Python monorepos with
a single lockfile and shared tooling:
</p>

<div className="rounded-md bg-muted p-4 mt-4">
Expand All@@ -178,8 +178,12 @@ uv run pytest`}

<p className="mt-4">The uv workspace starter includes:</p>
<ul className="list-disc pl-6 space-y-2">
<li>uv workspace configuration with shared <code>pyproject.toml</code> tooling</li>
<li>Separate <code>packages/</code> libraries and <code>apps/</code> deployables</li>
<li>
uv workspace configuration with shared <code>pyproject.toml</code> tooling
</li>
<li>
Separate <code>packages/</code> libraries and <code>apps/</code> deployables
</li>
<li>Shared Ruff, Pyright, and pytest configuration</li>
<li>Example members demonstrating cross-package imports</li>
</ul>
Expand All@@ -191,7 +195,7 @@ uv run pytest`}
<div className="space-y-6">
<div className="rounded-lg border p-4">
<h3 className="text-lg font-semibold flex items-center gap-2">
<AlertTriangle className="h-5 w-5 text-amber-500" />
<AlertTriangle className="h-5 w-5 text-blue-500" />
Installation Failures
</h3>
<p className="mt-2">If you encounter issues during installation:</p>
Expand All@@ -214,7 +218,7 @@ uv run pytest`}

<div className="rounded-lg border p-4">
<h3 className="text-lg font-semibold flex items-center gap-2">
<AlertTriangle className="h-5 w-5 text-amber-500" />
<AlertTriangle className="h-5 w-5 text-blue-500" />
Template or Extension Not Found
</h3>
<p className="mt-2">If a template or extension is not found:</p>
Expand All@@ -236,7 +240,7 @@ uv run pytest`}

<div className="rounded-lg border p-4">
<h3 className="text-lg font-semibold flex items-center gap-2">
<AlertTriangle className="h-5 w-5 text-amber-500" />
<AlertTriangle className="h-5 w-5 text-blue-500" />
Compatibility Issues
</h3>
<p className="mt-2">If you encounter compatibility issues between templates and extensions:</p>
Expand Down
6 changes: 3 additions & 3 deletions src/app/docs/agents-md/page.tsx
Original file line numberDiff line numberDiff line change
Expand Up@@ -21,7 +21,7 @@ export default function AgentsMdPage() {
<div className="container relative z-10 px-4 md:px-6">
<div className="flex flex-col items-center text-center space-y-4">
<div className="space-y-2">
<h1 className="text-3xl font-bold tracking-tighter sm:text-4xl md:text-5xl bg-clip-text text-transparent bg-gradient-to-r from-primary to-teal-600 animate-gradient-text">
<h1 className="text-3xl font-bold tracking-tighter sm:text-4xl md:text-5xl bg-clip-text text-transparent bg-gradient-to-r from-primary to-green-600 animate-gradient-text">
AGENTS.md Contract
</h1>
<p className="max-w-2xl text-muted-foreground md:text-lg">
Expand DownExpand Up@@ -173,8 +173,8 @@ Humans: stop reading—go to CONTRIBUTING.md + docs/.
<li>Add domain-specific escalation triggers (security, data, billing)</li>
<li>Reference internal design system docs instead of re-stating variants</li>
<li>
Include CI scripts or task runners (e.g. <code>uv run pytest</code>, <code>uv run ruff check .</code>)
if not obvious
Include CI scripts or task runners (e.g. <code>uv run pytest</code>,{' '}
<code>uv run ruff check .</code>) if not obvious
</li>
<li>Keep tone imperative and concise—optimize for machine parsing + embedding</li>
</ul>
Expand Down
27 changes: 18 additions & 9 deletions src/app/docs/page.tsx
Original file line numberDiff line numberDiff line change
Expand Up@@ -31,12 +31,12 @@ export default function DocsPage() {
<section id="introduction" className="space-y-4">
<h2 className="text-2xl font-bold tracking-tight">Introduction to create-awesome-python-app</h2>
<p>
<code>create-awesome-python-app</code> is a powerful command-line tool designed to streamline the process of
setting up modern Python applications. It provides a collection of carefully crafted templates and
<code>create-awesome-python-app</code> is a powerful command-line tool designed to streamline the process
of setting up modern Python applications. It provides a collection of carefully crafted templates and
extensions that help developers quickly bootstrap projects with best practices and optimal configurations.
</p>

<Card className="bg-gradient-to-r from-amber-500/10 via-amber-400/10 to-teal-600/10 border-amber-500/20 hover:border-amber-500/40 transition-colors">
<Card className="bg-gradient-to-r from-blue-500/10 via-blue-400/10 to-green-600/10 border-blue-500/20 hover:border-blue-500/40 transition-colors">
<CardHeader>
<CardTitle className="flex items-center gap-2">
<Sparkles className="h-5 w-5 text-yellow-400" />
Expand All@@ -56,7 +56,7 @@ export default function DocsPage() {
<div className="flex flex-col gap-2 sm:flex-row">
<Button
variant="outline"
className="bg-white/5 hover:bg-white/10 border-amber-500/20 hover:border-amber-500/40"
className="bg-white/5 hover:bg-white/10 border-blue-500/20 hover:border-blue-500/40"
asChild
>
<Link href="/docs/agents-md" className="group">
Expand DownExpand Up@@ -110,8 +110,8 @@ export default function DocsPage() {

<h3 className="text-xl font-semibold">Getting Started</h3>
<p>
Using <code>create-awesome-python-app</code> is straightforward. You can create a new project with a single
command:
Using <code>create-awesome-python-app</code> is straightforward. You can create a new project with a
single command:
</p>

<Tabs defaultValue="uvx" className="w-full">
Expand DownExpand Up@@ -153,7 +153,12 @@ export default function DocsPage() {
<ul className="list-disc pl-6 space-y-2 mt-2">
<li>Python 3.12 or higher</li>
<li>
<a href="https://docs.astral.sh/uv/" className="text-primary hover:underline" target="_blank" rel="noreferrer">
<a
href="https://docs.astral.sh/uv/"
className="text-primary hover:underline"
target="_blank"
rel="noreferrer"
>
uv
</a>{' '}
(recommended — used by generated projects and the default install path via uvx)
Expand DownExpand Up@@ -194,7 +199,9 @@ export default function DocsPage() {
<td className="py-2 px-4">
<code>-t, --template &lt;template&gt;</code>
</td>
<td className="py-2 px-4">Specify a template slug (e.g. <code>fastapi-starter</code>)</td>
<td className="py-2 px-4">
Specify a template slug (e.g. <code>fastapi-starter</code>)
</td>
</tr>
<tr className="border-b">
<td className="py-2 px-4">
Expand All@@ -218,7 +225,9 @@ export default function DocsPage() {
<td className="py-2 px-4">
<code>--no-install</code>
</td>
<td className="py-2 px-4">Scaffold the project without running <code>uv sync</code></td>
<td className="py-2 px-4">
Scaffold the project without running <code>uv sync</code>
</td>
</tr>
<tr className="border-b">
<td className="py-2 px-4">
Expand Down
14 changes: 7 additions & 7 deletions src/app/extensions/ExtensionsPageClient.tsx
Original file line numberDiff line numberDiff line change
Expand Up@@ -81,10 +81,10 @@ export function ExtensionsPageClient() {
return (
<div className="flex min-h-screen flex-col">
<main className="flex-1">
<div className="w-full bg-gradient-to-r from-amber-600 via-amber-500 to-teal-600 text-white py-3 relative">
<div className="w-full bg-gradient-to-r from-blue-600 via-blue-500 to-green-600 text-white py-3 relative">
<div className="absolute inset-0 overflow-hidden pointer-events-none" aria-hidden>
<div className="absolute inset-0 bg-[url('/grid.svg')] bg-center [mask-image:linear-gradient(180deg,white,rgba(255,255,255,0))] animate-pulse" />
<div className="absolute inset-0 bg-gradient-to-r from-amber-500/20 via-amber-400/15 to-teal-500/20 animate-gradient-x" />
<div className="absolute inset-0 bg-gradient-to-r from-blue-500/20 via-blue-400/15 to-green-500/20 animate-gradient-x" />
</div>
<div className="container px-4 md:px-6 flex flex-wrap items-center justify-center gap-2 relative z-10 text-center">
<div className="flex items-center gap-2 bg-white/10 px-3 py-1 rounded-full backdrop-blur-sm border border-white/20 shrink-0">
Expand DownExpand Up@@ -113,7 +113,7 @@ export function ExtensionsPageClient() {
<div className="container px-4 md:px-6 relative z-10">
<div className="flex flex-col items-center justify-center space-y-4 text-center">
<div className="space-y-2 fade-in-up">
<h1 className="text-3xl font-bold tracking-tighter sm:text-4xl md:text-5xl lg:text-6xl/none bg-clip-text text-transparent bg-gradient-to-r from-teal-600 to-amber-500 animate-gradient-text glow-text">
<h1 className="text-3xl font-bold tracking-tighter sm:text-4xl md:text-5xl lg:text-6xl/none bg-clip-text text-transparent bg-gradient-to-r from-green-600 to-blue-500 animate-gradient-text glow-text">
Extensions
</h1>
<p className="max-w-[900px] text-muted-foreground md:text-xl/relaxed lg:text-base/relaxed xl:text-xl/relaxed">
Expand DownExpand Up@@ -155,17 +155,17 @@ export function ExtensionsPageClient() {
<Input
type="search"
placeholder="Search extensions..."
className="w-full bg-background/50 backdrop-blur-sm pl-8 border-teal-600/20 focus:border-teal-600/40 transition-all duration-300"
className="w-full bg-background/50 backdrop-blur-sm pl-8 border-green-600/20 focus:border-green-600/40 transition-all duration-300"
value={searchQuery}
onChange={handleSearchChange}
/>
</div>
<div className="flex gap-2 w-full md:w-auto">
<Select defaultValue={typeParam || 'all'} onValueChange={handleTypeChange}>
<SelectTrigger className="w-full md:w-[180px] bg-background/50 backdrop-blur-sm border-teal-600/20 focus:border-teal-600/40 transition-all duration-300">
<SelectTrigger className="w-full md:w-[180px] bg-background/50 backdrop-blur-sm border-green-600/20 focus:border-green-600/40 transition-all duration-300">
<SelectValue placeholder="Type" />
</SelectTrigger>
<SelectContent className="bg-background/80 backdrop-blur-sm border-teal-600/20">
<SelectContent className="bg-background/80 backdrop-blur-sm border-green-600/20">
<SelectItem value="all">All Types</SelectItem>
{templateTypes.map((type) => (
<SelectItem key={type} value={type}>
Expand All@@ -177,7 +177,7 @@ export function ExtensionsPageClient() {
<Button
variant="outline"
size="icon"
className="bg-background/50 backdrop-blur-sm border-teal-600/20 hover:bg-background/70 transition-all duration-300"
className="bg-background/50 backdrop-blur-sm border-green-600/20 hover:bg-background/70 transition-all duration-300"
>
<Filter className="h-4 w-4" />
<span className="sr-only">Filter</span>
Expand Down
Loading
Loading