Technical documentation for the Noddev ecosystem and this documentation site.
Noddev is a documentation hub and project showcase for a collection of developer tools: Omni (OSINT platform), ApiShield (API security scanner), and Terminal-RichJS (rich terminal output library).
This site is built with Next.js 16 (App Router), React 19, Tailwind CSS v4, and MDX for content.
Documentation lives in src/content/docs/ with the following structure:
introduction.mdx - This pagearchitecture.mdx - Ecosystem overviewomni/ - Omni OSINT platform docsapishield/ - ApiShield security docsterminal-richjs/ - Terminal-RichJS library docsThe docs use Next.js dynamic catch-all routing via src/app/docs/[...slug]/page.tsx. This file:
src/content/docs/gray-matternext-mdx-remote/rscTwo layout files handle structure:
| File | Purpose |
|---|---|
src/app/layout.tsx | Root layout with Geist fonts, navbar, footer |
src/app/docs/layout.tsx | Docs layout with sidebar and Tracer animation |
The docs layout uses a responsive grid: sidebar (260px) + content + TOC (240px on XL screens).
Custom components in src/components/mdx/mdx-components.tsx override default HTML elements:
h1, h2, h3) - White text with tight trackingCode blocks include:
rehype-pretty-code with github-dark theme<Callout type="success" title="Ready for Production">
Content here
</Callout>Types: success, warning, error, info
Located in src/components/ui/tracer.tsx, this creates the animated vertical line in the docs sidebar:
#0070f3 blue)animate-tracer moves the gradient verticallyfadeIn keyframes for page load transitionstransition-colorsDefined in src/lib/docs-config.ts as a flat array of categories:
export const DOCS_CONFIG = [
{
title: "Welcome",
items: [
{ title: "Introduction", href: "/docs/introduction" },
{ title: "Ecosystem Overview", href: "/docs/architecture" },
],
},
// ... more categories
];Cmd+K / Ctrl+K opens a search modal (src/components/ui/command-menu.tsx) that searches across docs pages.
Page transitions feel fast because:
Defined in src/app/globals.css:
| Variable | Value | Purpose |
|---|---|---|
--color-background | #000000 | Page background |
--color-foreground | #ffffff | Primary text |
--color-muted | #888888 | Secondary text |
--color-border | rgba(255,255,255,0.08) | Subtle borders |
--color-card | rgba(255,255,255,0.02) | Card surfaces |
-0.02em)