chore: rename project from OnlyPets to PawFeed (domain: pawfeed.org)

This commit is contained in:
admin committed 2026-06-06 11:51:45 +02:00
1 parent 45c1410651
commit eeab28e8cb
12 files changed
+31 -18

No files matched your search

+14 -1
View File
@@ -35,7 +35,20 @@
"Skill(gsd:progress)",
"Bash(node \"T:/CC-Projekte/.claude/gsd-core/bin/gsd-tools.cjs\" query state.advance-plan --phase 1 --plan \"01-03\")",
"Bash(git stash *)",
"Bash(echo \"Exit: $?\")"
"Bash(echo \"Exit: $?\")",
"Bash(node \"T:/CC-Projekte/.claude/gsd-core/bin/gsd-tools.cjs\" query init.progress)",
"Bash(node \"T:/CC-Projekte/.claude/gsd-core/bin/gsd-tools.cjs\" query roadmap.analyze)",
"Bash(node \"T:/CC-Projekte/.claude/gsd-core/bin/gsd-tools.cjs\" query state-snapshot)",
"Bash(node \"T:/CC-Projekte/.claude/gsd-core/bin/gsd-tools.cjs\" query progress.bar --raw)",
"Bash(node \"T:/CC-Projekte/.claude/gsd-core/bin/gsd-tools.cjs\" query audit-uat --raw)",
"Bash(node \"T:/CC-Projekte/.claude/gsd-core/bin/gsd-tools.cjs\" query roadmap.get-phase 2)",
"Bash(ls .planning/phases/01-foundation/*-UAT.md)",
"Bash(ls .planning/todos/pending/*.md)",
"Bash(ls .planning/debug/*.md)",
"Bash(node \"T:/CC-Projekte/.claude/gsd-core/bin/gsd-tools.cjs\" query config-get workflow.discuss_mode)",
"Bash(node \"T:/CC-Projekte/.claude/gsd-core/bin/gsd-tools.cjs\" query phase.mvp-mode 1 --pick active)",
"Bash(node \"T:/CC-Projekte/.claude/gsd-core/bin/gsd-tools.cjs\" query state.advance-plan --phase 1 --plan \"01-04\")",
"Bash(node \"T:/CC-Projekte/.claude/gsd-core/bin/gsd-tools.cjs\" query commit \"chore\\(01\\): phase 1 complete\" --files \".planning/STATE.md\" \".planning/ROADMAP.md\" \".planning/phases/01-foundation/01-04-SUMMARY.md\" \".planning/phases/01-foundation/SUMMARY.md\")"
]
}
}
+3 -3
View File
@@ -1,8 +1,8 @@
# OnlyPets
# PawFeed
## What This Is
OnlyPets is a social platform where pets are the stars. Dogs, cats, and birds get their own profiles — owners manage them, but the pet is the identity. Think Instagram built from the ground up for animals: pets follow each other, post photos and videos, celebrate milestones, and track their health, all within a community that actually cares about animals.
PawFeed is a social platform where pets are the stars. Dogs, cats, and birds get their own profiles — owners manage them, but the pet is the identity. Think Instagram built from the ground up for animals: pets follow each other, post photos and videos, celebrate milestones, and track their health, all within a community that actually cares about animals.
## Core Value
@@ -42,7 +42,7 @@ Pets are first-class social identities — not just content on a human's feed
## Context
- The project name "OnlyPets" signals a pet-exclusive space — no human lifestyle content bleeding in
- The project name "PawFeed" signals a pet-exclusive space — no human lifestyle content bleeding in
- Pets as social identities is the core differentiator from Instagram; the UX should reinforce this (pet name first, owner is "managed by @owner")
- Content types mirror modern social platforms (photos, short video, stories) so the learning curve is low for Instagram/TikTok users
- Health tracking is a meaningful differentiator — shareable vet records and milestone history turn the profile into a pet's digital life record
+1 -1
View File
@@ -1,4 +1,4 @@
# Requirements: OnlyPets
# Requirements: PawFeed
**Defined:** 2026-06-05
**Core Value:** Pets are first-class social identities — not just content on a human's feed — so every feature is built around the pet's life, not the owner's.
+2 -2
View File
@@ -1,8 +1,8 @@
# Roadmap: OnlyPets
# Roadmap: PawFeed
## Overview
OnlyPets is built in strict dependency order. Phase 1 establishes the identity and media infrastructure that every subsequent phase depends on — Clerk owner auth, the pet-as-actor data model, and the Cloudflare R2 presigned upload pipeline. Phase 2 delivers the complete social posting loop (photo posts, stories, milestone posts, social graph, home feed, and the safety baseline required before any public access). Phase 3 adds engagement depth and discovery. Phase 4 closes the notification loop. Phase 5 introduces async video via Mux. Phases 6 and 7 deliver the independent DM and health tracking subsystems that can be built once the platform core is stable.
PawFeed is built in strict dependency order. Phase 1 establishes the identity and media infrastructure that every subsequent phase depends on — Clerk owner auth, the pet-as-actor data model, and the Cloudflare R2 presigned upload pipeline. Phase 2 delivers the complete social posting loop (photo posts, stories, milestone posts, social graph, home feed, and the safety baseline required before any public access). Phase 3 adds engagement depth and discovery. Phase 4 closes the notification loop. Phase 5 introduces async video via Mux. Phases 6 and 7 deliver the independent DM and health tracking subsystems that can be built once the platform core is stable.
## Phases
+3 -3
View File
@@ -2,9 +2,9 @@
## Project
**OnlyPets**
**PawFeed**
OnlyPets is a social platform where pets are the stars. Dogs, cats, and birds get their own profiles — owners manage them, but the pet is the identity. Think Instagram built from the ground up for animals: pets follow each other, post photos and videos, celebrate milestones, and track their health, all within a community that actually cares about animals.
PawFeed is a social platform where pets are the stars. Dogs, cats, and birds get their own profiles — owners manage them, but the pet is the identity. Think Instagram built from the ground up for animals: pets follow each other, post photos and videos, celebrate milestones, and track their health, all within a community that actually cares about animals.
**Core Value:** Pets are first-class social identities — not just content on a human's feed — so every feature is built around the pet's life, not the owner's.
@@ -74,7 +74,7 @@ OnlyPets is a social platform where pets are the stars. Dogs, cats, and birds ge
| Technology | Version | Purpose | Why |
|------------|---------|---------|-----|
| Clerk | Latest | Authentication provider | Clerk is the standard choice for Next.js 15 App Router auth in 2025. Ships with: pre-built UI components (sign-in, sign-up, user profile), social OAuth (Google, Apple, Facebook — important for pet-owner onboarding friction), session management with edge-compatible JWT verification, webhooks for user lifecycle events. The `@clerk/nextjs` middleware integration is first-class. **Note:** OnlyPets has a two-layer identity (owner account + pet profile). Clerk manages the owner account; your DB manages the pet-as-identity layer. Do NOT try to put pets as Clerk users — they are not auth entities, they are app-domain entities. |
| Clerk | Latest | Authentication provider | Clerk is the standard choice for Next.js 15 App Router auth in 2025. Ships with: pre-built UI components (sign-in, sign-up, user profile), social OAuth (Google, Apple, Facebook — important for pet-owner onboarding friction), session management with edge-compatible JWT verification, webhooks for user lifecycle events. The `@clerk/nextjs` middleware integration is first-class. **Note:** PawFeed has a two-layer identity (owner account + pet profile). Clerk manages the owner account; your DB manages the pet-as-identity layer. Do NOT try to put pets as Clerk users — they are not auth entities, they are app-domain entities. |
### Infrastructure & Deployment
+2 -2
View File
@@ -1,11 +1,11 @@
{
"name": "onlypets",
"name": "pawfeed",
"version": "0.1.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "onlypets",
"name": "pawfeed",
"version": "0.1.0",
"dependencies": {
"@aws-sdk/client-s3": "^3.1062.0",
+1 -1
View File
@@ -1,5 +1,5 @@
{
"name": "onlypets",
"name": "pawfeed",
"version": "0.1.0",
"private": true,
"scripts": {
+1 -1
View File
@@ -3,7 +3,7 @@ import { PrismaPg } from "@prisma/adapter-pg";
import { Pool } from "pg";
/**
* Seed script for the OnlyPets database.
* Seed script for the PawFeed database.
* Seeds Species (Dog, Cat, Bird) and Breed taxonomy idempotently.
* Uses upsert so it is safe to run multiple times.
*
+1 -1
View File
@@ -32,7 +32,7 @@ export function PetGrid({ pets }: PetGridProps) {
<div className="flex flex-col items-center justify-center gap-4 rounded-xl border-2 border-dashed border-muted p-12 text-center">
<p className="text-base font-semibold">Add your first pet</p>
<p className="text-sm text-muted-foreground max-w-sm">
Give your pet their own profile on OnlyPets.
Give your pet their own profile on PawFeed.
</p>
<Button
onClick={() => router.push("/onboarding/pet")}
+1 -1
View File
@@ -12,7 +12,7 @@ const inter = Inter({
});
export const metadata: Metadata = {
title: "OnlyPets",
title: "PawFeed",
description: "The social platform where pets are the stars.",
};
+1 -1
View File
@@ -22,7 +22,7 @@ export default function OnboardingPetPage() {
<div className="w-full max-w-[512px] p-8">
<h1 className="text-xl font-semibold mb-2">Add your first pet</h1>
<p className="text-sm text-muted-foreground mb-8">
Your pet will be their own star on OnlyPets.
Your pet will be their own star on PawFeed.
</p>
<PetForm
+1 -1
View File
@@ -72,7 +72,7 @@ export function Sidebar({ pets }: SidebarProps) {
{/* Wordmark */}
<div className="flex items-center gap-2 px-4 py-5">
<PawPrint className="h-5 w-5 text-orange-500" aria-hidden="true" />
<span className="text-xl font-semibold text-foreground">OnlyPets</span>
<span className="text-xl font-semibold text-foreground">PawFeed</span>
</div>
{/* Pet switcher */}