Skip to content

Commit b52dbaf

Browse files
authored
add free tools (#723)
* Enhance sitemap generation to include new tool pages and improve structure - Added new tool pages to the sitemap, including UTM Builder, SEO Title Generator, and Privacy Policy Builder, enhancing SEO and discoverability. - Updated the sitemap function to return a comprehensive list of tool pages alongside existing static and dynamic pages. - Refactored the layout of the sitemap for better organization and maintainability. * Refactor tool pages to replace TrackedButton with ToolCTA component - Updated multiple tool pages to utilize the new ToolCTA component for call-to-action sections, enhancing consistency across the application. - Changed URLs in metadata from the documentation domain to the main site for improved SEO and user navigation. - Adjusted Breadcrumbs for better readability and structure in the UI. * Remove AI Privacy Policy Generator tool and related components - Deleted the AI Privacy Policy Generator tool page and its associated components, including the PrivacyPolicyForm and related metadata. - Updated the tools list to reflect the removal of the AI Privacy Policy Generator, enhancing clarity and focus on remaining tools. - Adjusted educational content across various tools for improved readability and consistency. * Refactor sitemap generation to dynamically include tool slugs from the tools directory - Updated the sitemap function to read tool slugs dynamically from the tools directory, enhancing maintainability and scalability. - Removed the hardcoded list of tool slugs, streamlining the code and reducing the need for manual updates when adding or removing tools. * Update .gitignore to remove CLAUDE.md and streamline ignored files * Refactor tool pages to utilize ToolPageLayout component - Updated multiple tool pages, including Analytics Detector, Bounce Rate Calculator, CTR Calculator, Funnel Visualizer, Marketing ROI Calculator, and UTM Builder, to use the new ToolPageLayout component for improved consistency and maintainability. - Enhanced educational content and FAQs across these tools for better user engagement and clarity. - Removed redundant imports and streamlined component structures to optimize performance and readability. * Refactor tool pages to implement ToolPageLayout and enhance educational content - Updated multiple tool pages, including Bounce Rate Calculator, Marketing ROI Calculator, and others, to utilize the ToolPageLayout component for improved consistency and maintainability. - Enhanced educational content and FAQs across these tools for better user engagement and clarity. - Removed redundant imports and streamlined component structures to optimize performance and readability. * Update tool pages to change URLs from rybbit.io to rybbit.com - Modified multiple tool pages, including Bounce Rate Calculator, CTR Calculator, Funnel Visualizer, Marketing ROI Calculator, Page Speed Calculator, Traffic Value Calculator, and UTM Builder, to update URLs in metadata and structured data for consistency with the new domain. - Enhanced educational content for clarity and improved readability across these tools. - Ensured all references to the old domain are replaced to maintain functionality and SEO integrity. * Remove keywords from multiple tool pages to streamline metadata and improve SEO practices - Updated the metadata for various tools, including CLAUDE, Analytics Detector, Bounce Rate Calculator, CTR Calculator, Funnel Visualizer, Marketing ROI Calculator, Meta Description Generator, Open Graph Tag Generator, Page Speed Calculator, Privacy Policy Builder, Sample Size Calculator, SEO Title Generator, and Traffic Value Calculator, by removing the keywords array. - Enhanced educational content for clarity and improved readability across these tools. - Ensured consistency in metadata structure to align with best SEO practices.
1 parent 7b5e44f commit b52dbaf

File tree

41 files changed

+7914
-3833
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+7914
-3833
lines changed

.gitignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,5 +45,4 @@ coverage/
4545

4646
.cursor/
4747

48-
.claude/
49-
CLAUDE.md
48+
.claude/

CLAUDE.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# CLAUDE.md
2+
3+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4+
5+
## Commands
6+
7+
- Client: `cd client && npm run dev` (NextJS with Turbopack on port 3002)
8+
- Server: `cd server && npm run dev` (TypeScript backend)
9+
- Lint: `cd client && npm run lint` or `cd server && npm run build`
10+
- TypeCheck: `cd client && tsc --noEmit` or `cd server && tsc`
11+
- Database: `cd server && npm run db:push` (update DB schema)
12+
13+
## Code Conventions
14+
15+
- TypeScript with strict typing throughout both client and server
16+
- Client: React functional components with minimal useEffect and inline functions
17+
- Frontend: Next.js, Tailwind CSS, Shadcn UI, Tanstack Query, Zustand, Luxon, Nivo, react-hook-form
18+
- Backend: Fastify, Drizzle ORM (Postgres), ClickHouse, Zod
19+
- Error handling: Use try/catch blocks with specific error types
20+
- Naming: camelCase for variables/functions, PascalCase for components/types
21+
- Imports: Group by external, then internal (alphabetical within groups)
22+
- File organization: Related functionality in same directory
23+
- Dark mode is default theme
24+
- Never run any database migration scripts

docs/CLAUDE.md

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
# CLAUDE.md
2+
3+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4+
5+
## Commands
6+
7+
- Dev: `npm run dev` (Next.js with Turbopack on port 3003)
8+
- Build: `npm run build`
9+
- Production: `npm start`
10+
- Type Check: `tsc --noEmit`
11+
- Content Processing: `fumadocs-mdx` (runs automatically on postinstall)
12+
13+
## Project Overview
14+
15+
This is the documentation and marketing website for Rybbit, built with Next.js 16 and Fumadocs. The site includes:
16+
17+
- Documentation pages (using Fumadocs MDX)
18+
- Blog (separate content collection)
19+
- Marketing pages (home, pricing, features, comparison pages)
20+
- Analytics tools (SEO, ROI calculators, privacy policy builder, etc.)
21+
- LLM-friendly documentation endpoints
22+
- The domain is rybbit.com
23+
24+
## Code Architecture
25+
26+
### Content Management
27+
28+
- **Fumadocs MDX**: Documentation system using `fumadocs-mdx` for MDX processing
29+
- **Source Configuration**: `source.config.ts` defines two content collections:
30+
- `docs`: Documentation pages in `content/docs/`
31+
- `blog`: Blog posts in `content/blog/` with extended frontmatter (date, author, image, tags)
32+
- **Source Adapters**:
33+
- `src/lib/source.ts`: Docs source loader (base URL: `/docs`)
34+
- `src/lib/blog-source.ts`: Blog source loader (base URL: `/blog`)
35+
- **Auto-generated**: `.source/` directory contains generated TypeScript from MDX files
36+
37+
### Route Structure
38+
39+
- `app/(home)/*`: Marketing pages (landing, pricing, features, comparison pages, tools)
40+
- `app/docs/[[...slug]]/`: Documentation pages using catch-all routing
41+
- `app/blog/`: Blog listing and individual posts
42+
- `app/api/search/`: Documentation search powered by Orama
43+
- `app/api/tools/`: API endpoints for tool functionality (SEO generators, analytics detector, etc.)
44+
- `app/llms.mdx/` and `app/llms-full.txt/`: LLM-optimized documentation endpoints
45+
46+
### Key Components
47+
48+
- **Layout**: `app/layout.config.tsx` defines shared navigation and links for Fumadocs
49+
- **Tools**: Various analytics and SEO tools in `app/(home)/tools/` with form components and API routes
50+
- **Cards**: Feature demonstration components in `src/components/Cards/`
51+
- **UI Components**: Radix UI-based components in `src/components/ui/`
52+
53+
### External Integrations
54+
55+
- **OpenRouter**: LLM API integration via `src/lib/openrouter.ts` for tool functionality
56+
- Uses `OPENROUTER_API_KEY` and `OPENROUTER_MODEL` environment variables
57+
- Model: `z-ai/glm-4.6` (configurable)
58+
- **Search**: Fumadocs search with Orama, English language support
59+
- **Analytics**: Event tracking via `src/lib/trackAdEvent.ts`
60+
61+
### Path Aliases
62+
63+
- `@/*`: Maps to `src/*`
64+
- `@/.source`: Maps to `.source/index.ts` (generated MDX content)
65+
66+
## Code Conventions
67+
68+
- TypeScript with strict mode enabled
69+
- React 19 functional components
70+
- Next.js App Router with route groups
71+
- Fumadocs for documentation infrastructure
72+
- Tailwind CSS v4 with dark mode support
73+
- Path-based imports using `@/` alias
74+
- MDX components defined in `src/mdx-components.tsx`
75+
76+
## Important Notes
77+
78+
- Content files in `content/docs/` and `content/blog/` are processed by Fumadocs MDX
79+
- The `.source/` directory is auto-generated and should not be edited manually
80+
- Next.js rewrites map `/docs/:path*.mdx` to `/llms.mdx/:path*` for LLM consumption
81+
- Remote images allowed from: pbs.twimg.com, abs.twimg.com, ui-avatars.com, cdn.outrank.so, www.google.com

docs/src/app/(home)/oss-friends/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ export default async function OSSFriendsPage() {
3939
const friends = await getOSSFriends();
4040

4141
return (
42-
<div className="min-h-screen bg-gradient-to-b from-neutral-50 to-neutral-100 dark:from-neutral-950 dark:to-neutral-900">
42+
<div className="min-h-screen">
4343
<div className="max-w-[1300px] mx-auto px-6 py-20">
4444
{/* Header */}
4545
<div className="text-center mb-16">

0 commit comments

Comments
 (0)