[package]
id = "io.ggen.nextjs.ontology-crud"
name = "Next.js Ontology-Driven CRUD"
version = "1.0.0"
description = "Full-stack Next.js application with shadcn/ui where CRUD tables auto-sync with RDF ontology via git hooks"
author = "ggen"
license = "MIT"
category = "web"
tags = ["nextjs", "typescript", "shadcn", "ontology", "crud", "rdf", "fullstack"]

[metadata]
homepage = "https://github.com/seanchatmangpt/ggen"
repository = "https://github.com/seanchatmangpt/ggen"
documentation = "https://seanchatmangpt.github.io/ggen/"

[features]
features = [
  "Next.js 14 with App Router",
  "TypeScript strict mode",
  "shadcn/ui components (DataTable, Dialog, Form)",
  "Zod validation from SHACL constraints",
  "Auto-generated TypeScript types from RDF",
  "Auto-generated API routes",
  "Auto-generated CRUD components",
  "Git hooks for automatic regeneration",
  "Zero drift between ontology and UI",
  "Production-ready validation"
]

[dependencies]
ggen = ">=2.6.0"

[structure]
type = "nextjs-app"
entry_point = "app/layout.tsx"
ontology = "ontology/task-management.ttl"
templates = "templates/"

[generation]
templates = [
  "types.ts.hbs",
  "api-routes.ts.hbs", 
  "crud-table.tsx.hbs"
]
hooks = ["pre-commit", "post-merge"]

[examples]
examples = [
  { name = "Task Management", description = "Complete task management system with Projects, Tasks, Users", ontology = "ontology/task-management.ttl" },
  { name = "Add Property", description = "Add estimatedHours property to Task entity", command = "Edit ontology → Run npm run regenerate → See UI update" }
]

[installation]
post_install = """
cd {install_dir}
npm install
npm run regenerate
echo "✅ Next.js ontology-driven app ready!"
echo "Run: cd {install_dir} && npm run dev"
"""
