import type { Metadata } from 'next' import Link from 'next/link' import SeoFooter from '@/components/seo/SeoFooter' import SeoNavbar from '@/components/seo/SeoNavbar' import { siteConfig } from '@/lib/site' const repositoryUrl = 'https://github.com/knuthtimo-lab/greenlenspro-cli' export const metadata: Metadata = { title: 'Developer Suite & Open Source Tools', description: 'Official GreenLens developer tools: VS Code extension, Python SDK and CLI, Node.js CLI, Chrome extension, and GitHub Action.', alternates: { canonical: '/developers' }, openGraph: { title: 'Developer Suite & Open Source Tools | GreenLens', description: 'Open-source GreenLens tools for VS Code, Python, Node.js, Chrome, and GitHub Actions.', url: `${siteConfig.domain}/developers`, type: 'website', }, twitter: { card: 'summary_large_image', title: 'Developer Suite & Open Source Tools | GreenLens', description: 'Open-source GreenLens tools for VS Code, Python, Node.js, Chrome, and GitHub Actions.', }, } const engineeringPosts = [ { slug: 'vision-ai-plant-disease-diagnostic', title: 'Building a Plant Disease Diagnostic Engine with Vision AI & Multi-Symptom Scoring', readTime: '8 min read' }, { slug: 'chrome-extension-manifest-v3-image-scanner', title: 'How to Build a Lightweight Chrome Extension (Manifest V3) for Real-Time Image & Canvas Inspection', readTime: '7 min read' }, { slug: 'zero-dependency-python-sdk', title: 'Designing a Zero-Dependency Python SDK for REST APIs with Automatic Retries & Rate-Limit Backoff', readTime: '7 min read' }, { slug: 'react-native-offline-first-sync', title: 'Offline-First Mobile Architecture: Syncing Local SQLite Storage with Remote AI Services in React Native', readTime: '8 min read' }, { slug: 'typescript-cli-automation-tool', title: 'Building a CLI Tool in TypeScript for Automated Image & Asset Diagnostic Workflows', readTime: '6 min read' }, { slug: 'computer-vision-edge-cases-plant-health', title: 'Computer Vision Edge Cases: Why Plant Models Agree on Species But Disagree on Health', readTime: '7 min read' }, { slug: 'programmatic-seo-nextjs-app-router', title: 'Programmatic SEO Infrastructure with Next.js App Router: Type-Safe Page Factories', readTime: '7 min read' }, { slug: 'automated-content-syndication-engine', title: 'Automated Content Syndication: Publishing Developer Posts to DEV.to and Hashnode', readTime: '6 min read' }, { slug: 'cross-platform-design-system-tokens', title: 'Building a Cross-Platform Design System for Web (Next.js) and Mobile (React Native)', readTime: '7 min read' }, ] const tools = [ { icon: '💻', eyebrow: 'VS Code Marketplace', title: 'VS Code extension', description: 'Search plant care, diagnose leaf symptoms, and set hydration-break timers without leaving VS Code.', command: 'Ctrl+Shift+P → GreenLens: Search Houseplant Care', href: 'https://marketplace.visualstudio.com/items?itemName=TimoKnuth.greenlens-vscode', linkLabel: 'VS Code Marketplace', }, { icon: '🐍', eyebrow: 'Python SDK & CLI', title: 'Python SDK and CLI', description: 'Use the greenlens-python package in applications or call greenlens-py directly for care guides, light evaluations, and symptom diagnostics.', command: 'pip install greenlens-python\ngreenlens-py care "Monstera"', href: 'https://pypi.org/project/greenlens-python/', linkLabel: 'Python SDK & CLI on PyPI', }, { icon: '📦', eyebrow: 'NPM Package', title: 'Node.js CLI and package', description: 'A zero-dependency terminal utility and Node module for rapid plant-care lookup in any shell or application.', command: 'npx greenlenspro-cli care "Monstera"', href: 'https://www.npmjs.com/package/greenlenspro-cli', linkLabel: 'Node.js package on NPM', }, { icon: '🧩', eyebrow: 'Chrome Web Store', title: 'Chrome extension', description: 'Search a local plant catalog, check leaf symptoms, or select a plant photo from the current browser page for AI analysis.', command: 'Browser popup + photo scan tool', href: siteConfig.chromeWebStoreUrl, linkLabel: 'Chrome Web Store', }, { icon: '🐙', eyebrow: 'GitHub CI/CD', title: 'GitHub Action', description: 'Run plant-care and diagnosis lookups in CI/CD workflows and print results directly in build output.', command: 'uses: knuthtimo-lab/greenlenspro-cli@v1', href: `${repositoryUrl}#github-action`, linkLabel: 'View GitHub Action', }, { icon: '📁', eyebrow: 'Open source', title: 'GitHub repository', description: 'Browse the complete source code, releases, installation notes, and contribution context for greenlenspro-cli.', command: 'github.com/knuthtimo-lab/greenlenspro-cli', href: repositoryUrl, linkLabel: 'Open GitHub repository', }, ] export default function DevelopersPage() { return (

Developer suite & open source

Plant care tools for the stack you already use.

Bring GreenLens care guidance, symptom checks, and lighting evaluations into VS Code, Python, Node.js, your browser, or a GitHub workflow.

Explore on GitHub Developer support

Tools & integrations

One plant-care toolkit, six practical entry points.

{tools.map((tool) => ( ))}

Engineering blog

How we built the GreenLens platform.

Deep dives into the real architecture behind GreenLens: the vision AI diagnostic pipeline, the Chrome extension, the Python SDK, offline-first sync, and more.

{engineeringPosts.map((post) => ( {post.readTime}

{post.title}

Read the post ))}

Need the full app?

Use GreenLens on your phone for camera-based plant scans and ongoing care.

Download on the App Store
) }