diff --git a/.gitignore b/.gitignore index 75edccf..1c8e076 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,8 @@ # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. # dependencies -/node_modules +node_modules/ +**/node_modules/ /.pnp .pnp.* .yarn/* @@ -20,6 +21,16 @@ # production /build +# Separate package projects (they are published from their own repositories) +/chrome-decision-kit/ +/decision-kit/ +/python-decision-kit/ +/vscode-decision-kit/ + +# Package build artefacts +**/*.egg-info/ +*.vsix + # misc .DS_Store *.pem diff --git a/app/developer/page.tsx b/app/developer/page.tsx new file mode 100644 index 0000000..6f7424f --- /dev/null +++ b/app/developer/page.tsx @@ -0,0 +1,179 @@ +import type { Metadata } from "next"; +import Link from "next/link"; +import { ArrowUpRight, Box, Check, Code2, Puzzle, Terminal } from "lucide-react"; +import Nav from "@/components/nav"; +import Footer from "@/components/footer"; + +function GithubIcon({ className }: { className?: string }) { + return ( + + ); +} + +export const metadata: Metadata = { + title: "Decision Kit – Developer Suite", + description: "Open-Source-Tools von Entscheidomat: Repository, VS Code Extension, Chrome Extension, npm-Paket, Python SDK und GitHub Action.", + openGraph: { + title: "Decision Kit – Developer Suite | Entscheidomat", + description: "Zufalls-Entscheidungstools für VS Code, Chrome, Node.js, Python und GitHub Actions.", + url: "https://entscheidomat.com/developer", + }, +}; + +type Asset = { + title: string; + eyebrow: string; + description: string; + icon: typeof Puzzle; + action?: string; + href?: string; + snippet?: string; + status: string; +}; + +const assets: Asset[] = [ + { + title: "GitHub Repository", + eyebrow: "Open Source · MIT", + description: "Der vollständige Decision-Kit-Quellcode mit Releases, Issues und Contribution Guide – die zentrale Anlaufstelle für Entwickler.", + icon: Code2, + action: "Repository öffnen", + href: "https://github.com/knuthtimo-lab/decision-kit", + snippet: "git clone https://github.com/knuthtimo-lab/decision-kit.git", + status: "knuthtimo-lab/decision-kit", + }, + { + title: "Decision Kit für VS Code", + eyebrow: "Extension · v1.0.0", + description: "Ziehe einen Gewinner aus markiertem Text, würfle mit Notation wie 2d6+3 und öffne das Glücksrad direkt in deiner IDE.", + icon: Puzzle, + action: "Im VS Code Store öffnen", + href: "https://marketplace.visualstudio.com/items?itemName=TimoKnuth.decisionkit-vscode", + status: "Visual Studio Marketplace", + }, + { + title: "Decision Kit für Chrome", + eyebrow: "Browser-Erweiterung · Manifest V3", + description: "Random Picker, Glücksrad, Würfel, Münzwurf und praktische Kontextmenü-Kürzel für schnelle Entscheidungen im Browser.", + icon: Puzzle, + status: "Chrome Web Store – Veröffentlichung vorbereitet", + }, + { + title: "TypeScript Library", + eyebrow: "npm · v1.0.0", + description: "Zufallsalgorithmen, Würfel-Parser, Glücksrad-Logik und React Hooks als wiederverwendbare Bausteine.", + icon: Box, + action: "npm-Paket ansehen", + href: "https://www.npmjs.com/package/decision-kit", + snippet: "npm install decision-kit", + status: "Node.js & React", + }, + { + title: "Python SDK & CLI", + eyebrow: "PyPI · v1.0.0", + description: "Decision-Kit für Python-Skripte, Automatisierungen und die Kommandozeile.", + icon: Terminal, + action: "PyPI-Projekt ansehen", + href: "https://pypi.org/project/decision-kit/", + snippet: "pip install decision-kit", + status: "Python Package Index", + }, + { + title: "GitHub Action", + eyebrow: "GitHub Marketplace", + description: "Nutze Auslosungen, Teamaufteilungen und Zufallsentscheidungen direkt in deinen CI/CD-Workflows.", + icon: Code2, + action: "Action ansehen", + href: "https://github.com/marketplace/actions/decision-kit-action", + snippet: "uses: knuthtimo-lab/decision-kit@v1.0.0", + status: "Für GitHub Actions", + }, +]; + +export default function DeveloperPage() { + const jsonLd = { + "@context": "https://schema.org", + "@type": "SoftwareApplication", + name: "Decision Kit", + operatingSystem: "All", + applicationCategory: "DeveloperApplication", + author: { "@type": "Organization", name: "Entscheidomat" }, + codeRepository: "https://github.com/knuthtimo-lab/decision-kit", + }; + + return ( + <> +