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
4 changes: 0 additions & 4 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,3 @@ routeTree.gen.ts
convex/_generated
convex/README.md
src/blog/tanstack-db-0.1-the-embedded-client-database-for-tanstack-query.md
.content-collections
dist/
.tanstack/
.output/
44 changes: 9 additions & 35 deletions agents/tasks/tanstack-com-task-list.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,27 +8,22 @@
- Links: PRs, issues, routes, components

### How to use this file

- Update status/notes as tasks progress. Keep routes/components and data sources referenced so any agent can continue seamlessly.
- Prefer reusing existing components and content models referenced below.

---

## 1. Metrics & Market Leadership Signals

**Goal:** Visible proof of dominance and growth.

### Audit snapshot

- Homepage metrics: `OpenSourceStats` counters present on homepage (`src/routes/_libraries/index.tsx` uses `OpenSourceStats`). Partial.
- "Trusted By": Component exists as text marquee (`src/components/TrustedByMarquee.tsx`). Not on homepage yet; currently used on some library pages (e.g. `src/routes/_libraries/table.$version.index.tsx`). Partial.
- NPM stats: Extensive interactive page exists at `src/routes/stats/npm/index.tsx` with charts and comparisons. Done (separate page).
- Backend metrics: `convex/stats.ts` + `@erquhart/convex-oss-stats` provides GitHub/NPM org metrics; `OpenSourceStats.tsx` consumes `api.stats.getGithubOwner`, `api.stats.getNpmOrg`. Done for aggregate; per-library not yet surfaced.

### Tasks

- [ ] Implement “Trusted By” on homepage

- Status: Backlog
- Notes:
- Reuse `TrustedByMarquee` but upgrade to support logos + links + tooltip proof.
Expand All @@ -40,10 +35,9 @@
- Renders without CLS, loops smoothly, accessible (ARIA, alt text). Logos swap dark/light.
- All entries have a proof link; no unverified brands.
- Links: `src/components/TrustedByMarquee.tsx`, `src/routes/_libraries/index.tsx`.
- Owner:
- Owner:

- [ ] Add Real-Time Metrics Counters (per-library + org rollup)

- Status: Partial (org rollup live via `OpenSourceStats`)
- Notes:
- Extend counters to per-library pages using existing Convex endpoints or add repo-level endpoints via `convex-oss-stats` if needed.
Expand All @@ -61,37 +55,32 @@
- Notes:
- Route: `src/routes/state-of-tanstack.tsx`.
- Include growth charts (npm downloads: reuse `NpmStatsChart.tsx` or embed portions of `stats/npm`), GitHub stars, contributors, dependents (available via Convex aggregation already powering `OpenSourceStats`).
- Community stats: Discord members (needs server function), newsletter subscribers (manual or vendor API), X/Twitter followers (manual or API), repository contributors (Convex or GitHub GraphQL on server).
- Ecosystem counts: partners (derive from `src/utils/partners.tsx`), plugins/tools (manual list or content collection).
- CTA to GitHub org.
- Community stats: Discord members (needs server function), newsletter subscribers (manual or vendor API), X/Twitter followers (manual or API), repository contributors (Convex or GitHub GraphQL on server).
- Ecosystem counts: partners (derive from `src/utils/partners.tsx`), plugins/tools (manual list or content collection).
- CTA to GitHub org.
- Acceptance:
- Page loads instantly with cached metrics; charts are responsive and accessible.
- Sources and last-updated timestamps shown.
- Links: `src/components/NpmStatsChart.tsx`, `src/components/OpenSourceStats.tsx`, `src/routes/stats/npm/index.tsx`, `src/utils/partners.tsx`.
- Owner:

### Tech/context

- Data: `@erquhart/convex-oss-stats` via `convex/stats.ts` (org-level GitHub star/contributor/dependent counts, npm downloads). Consider adding per-repo endpoints if needed.
- Secrets: Configure any tokens via Netlify/Convex env; never expose client-side.
- Accessibility: Ensure counters/animations are readable and respect `prefers-reduced-motion`.

---

## 2. Founder & Team Story

**Goal:** Frame the team as visionary and credible.

### Audit snapshot

- Ethos page exists: `src/routes/_libraries/ethos.tsx` (narrative and positioning).
- Maintainers directory page exists: `src/routes/_libraries/maintainers.tsx` with `MaintainerCard` variants and filters; bios sourced from `src/libraries/maintainers`.
- No dedicated "About" route; no speaking engagements index; no curated endorsements/tweets.

### Tasks

- [ ] Redesign/Create “About” page

- Status: Backlog
- Notes:
- Route: `src/routes/about.tsx`.
Expand All @@ -101,7 +90,6 @@
- Links: `src/components/MaintainerCard.tsx`, `src/routes/_libraries/maintainers.tsx`.

- [ ] Speaking Engagements section

- Status: Backlog
- Notes:
- Add to About or standalone `src/routes/speaking.tsx`.
Expand All @@ -118,25 +106,22 @@
- Acceptance: Renders endorsements with attribution and embedded tweets with proper theming.

### Tech/context

- Reuse `MaintainerCard` and existing images in `src/images/`.
- Avoid fetching social embeds at build if rate-limited; hydrate on client or cache server-side.

---

## 4. Commercial Hooks


## 4. Commercial Hooks
**Goal:** Show monetizable pathways.

### Audit snapshot

- Enterprise/Support: `src/routes/_libraries/paid-support.tsx` exists with HubSpot script and CTAs. Partial substitute for "Enterprise" page.
- No dedicated Partner Program page.

### Tasks

- [ ] “Enterprise” page

- Status: Partial
- Notes:
- Option 1: Rename and expand `paid-support` into `enterprise` (route alias + updated copy) while keeping legacy route.
Expand All @@ -152,20 +137,18 @@
- Link to Partners page.
- Acceptance: Published page with clear application CTA.



---

## 5. Future Vision Page

**Goal:** Show long-term upside.

### Audit snapshot

- No public roadmap found; ethos narrative exists but not a vision statement page.

### Tasks

- [ ] Public Roadmap page

- Status: Backlog
- Notes:
- Route: `src/routes/roadmap.tsx`.
Expand All @@ -184,17 +167,13 @@
---

## 6. Media & Momentum

**Goal:** Make hype and credibility easy to digest.

### Audit snapshot

- No dedicated media kit, in-the-news, or social proof feeds found.

### Tasks

- [ ] Press/Media Kit page

- Status: Backlog
- Notes:
- Route: `src/routes/media-kit.tsx`.
Expand All @@ -203,7 +182,6 @@
- Acceptance: Page provides direct downloads and usage rules.

- [ ] In the News page

- Status: Backlog
- Notes:
- Route: `src/routes/news.tsx`.
Expand All @@ -221,7 +199,6 @@
---

### Shared implementation notes

- Routing: New pages should be added under `src/routes/*` using TanStack Start conventions; update nav/footers as needed.
- Data placement: Prefer `src/data/*.ts` (typed) or `content/*.(json|yaml)` for editorial lists. Avoid hardcoding in components unless small.
- Theming: Provide dark/light logo variants; `public/` is ideal for static assets.
Expand All @@ -231,22 +208,19 @@
- Analytics: Add outbound link tracking if available (future).

### Potential blockers

- External API limits (GitHub GraphQL, Discord member count, X/Twitter API). Prefer server-side fetch with caching or public embed widgets.
- Legal/branding approvals for “Trusted By” logos—require proof links.

### Quick links to relevant code

- Homepage: `src/routes/_libraries/index.tsx`
- Metrics: `src/components/OpenSourceStats.tsx`, `convex/stats.ts`, `src/components/NpmStatsChart.tsx`, `src/routes/stats/npm/index.tsx`
- Trusted By: `src/components/TrustedByMarquee.tsx`
- Team/Ethos: `src/routes/_libraries/ethos.tsx`, `src/routes/_libraries/maintainers.tsx`, `src/components/MaintainerCard.tsx`
- SEO helper: `src/utils/seo`

### Ownership & tracking

- For each task above, fill in:
- Owner:
- Issue/PR links:
- Status:
- Next step:
- Next step:
Loading
Loading