Commit Graph

113 Commits

Author SHA1 Message Date
Dani 6ac16aed3c feat: Add metadata cards carousel and Send to Repo feature
- Add horizontal metadata cards carousel to component detail page
  parsing frontmatter (skills/agents/commands), JSON (MCPs/settings/hooks)
- Cards show description, tools, model, version, author, tags, license
  with orange accent border, compact design, and text truncation
- Add "Send to Repo" button (gated to admin) in My Components
  with GitHub OAuth flow and PR creation
- Add "Metadata" and "Code" section titles
- Update components.json and trending data

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 19:23:47 -05:00
Daniel Avila 3a9e95a883 Add project structure tree visualization to components view (#402)
* feat(dashboard): organize My Components as real project structure with .claude/ tree

Replaces the flat type-grouped view in the collections sidebar with a
realistic project directory tree showing exactly how components will be
installed:

  project/
  ├── .claude/
  │   ├── agents/
  │   ├── commands/
  │   ├── skills/
  │   ├── hooks/
  │   └── settings.json
  └── .mcp.json

Adds an ASCII project structure preview in the main content area so
users can visualize the full installation layout before running the
install command.

https://claude.ai/code/session_01Gh8sj2GFiXotit4qSftpid

* Update dashboard/src/components/MyComponentsView.tsx

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2026-03-05 21:19:43 -05:00
Daniel Avila 6cf26f9582 feat: Redesign featured pages to match component detail layout (#395)
Replace iframe-based featured pages with native dashboard layout using
tabbed navigation, sidebar with metadata, and partner-specific content.

- Rewrite dashboard featured/[slug].astro from iframe embed to native
  Astro page with Overview content + Website external link tab
- Expand FeaturedItem type with metadata, links, CTA, and badge data
- Add partner badge color variants (Partner/Database/Toolkit)
- Add sidebar cards: partner info, CTA button, install command, metadata, links
- Remove redundant metadata fields (Type/Category/Website already shown via dedicated fields)
- Update docs/ featured pages with component-page layout (legacy site)
- Create docs/css/featured-page.css for featured-specific styles

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 14:18:13 -05:00
daniel f5f7146888 feat: Add collections API endpoints and improve dashboard proxy
- Add Vercel serverless functions for user collections CRUD (collections.js, [id].js, items.js)
- Add shared auth (Clerk JWT verification) and Neon DB client helpers
- Add @clerk/backend dependency for token verification
- Improve dashboard API proxy: handle double-compression, error handling, filter accept-encoding
- Add retry logic to collections-api.ts for GET requests

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 16:32:23 -05:00
daniel f96e76b1b5 feat: Group My Components items by type in sidebar and right panel
Sidebar tree now nests items under type sub-groups (Skills, Agents, etc.)
and right panel shows typed sections instead of a flat grid.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 14:04:41 -05:00
daniel 0f9fc1b11d chore: Update docs link to docs.aitmpl.com
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 00:39:34 -05:00
daniel b414acaa12 feat: Add beta dashboard banner on docs site and beta label on dashboard
- Banner on docs/index.html linking to app.aitmpl.com
- Beta badge next to title in dashboard sidebar

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 00:29:28 -05:00
daniel 8deb996b85 fix: Fix trending page to fetch data from production URL
Was fetching /trending-data.json locally which no longer exists.
Now fetches from www.aitmpl.com like components.json.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 00:01:06 -05:00
daniel c5d1a78796 fix: Gitignore generated data files in dashboard
Remove trending-data.json from tracking and add both components.json
and trending-data.json to .gitignore. These are fetched at runtime
from www.aitmpl.com, not needed in the repo.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 23:50:33 -05:00
daniel 6560e8c738 fix: Fix dashboard icons and simplify data loading
- TypeIcon: use inline SVG instead of DOMParser (broke SSR hydration)
- Remove placeholder components.json (not needed, fetches from prod URL)
- Simplify COMPONENTS_JSON_URL to always use www.aitmpl.com

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 23:47:14 -05:00
daniel 0f4aaa7217 security: Fix XSS vulnerabilities in docs site and dashboard
Static site (docs/js/):
- Add escapeHTML() utility to utils.js for sanitizing dynamic content
- Apply escapeHTML to component names, descriptions, categories, and
  install commands in card generation (search-functionality.js,
  index-events.js)
- Replace innerHTML with DOM methods for search category tags

Dashboard:
- Create shared TypeIcon component using DOMParser for safe SVG
  rendering (rejects malformed SVG via parsererror check)
- Remove all dangerouslySetInnerHTML usage from SearchModal,
  ComponentGrid, TrendingView, and MyComponentsView
- Clean up unused ICONS imports

Resolves CLA-23

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 23:13:17 -05:00
daniel 2832428952 fix(dashboard): Remove prebuild hack, use standard Astro public/ dir
- Delete scripts/prebuild.cjs (no longer needed)
- Remove static/ directory, assets already live in public/
- Commit placeholder components.json and trending-data.json to public/
  so Vercel can serve them without needing a prebuild write workaround
- Remove prebuild script from package.json
- Update .gitignore to track placeholder data files

Resolves CLA-20, CLA-21

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 23:13:17 -05:00
daniel 37de8b550f feat: Add dashboard source code (app.aitmpl.com)
Astro 5 + React + Tailwind dashboard with Clerk auth for browsing
and managing Claude Code Templates components. Includes proper
.gitignore to exclude build artifacts and generated data files.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 23:13:17 -05:00