kursadbilgin/shinobi — reverse-engineered prompt

Reverse engineered prompt

Build me a small Go service called Shinobi that works like a registry for smart things. I want to store both devices and outside services in one shared model, then attach multiple features to each one. It should save everything in Postgres, seed some demo data on first run, and expose a gRPC API so I can create, update, delete, fetch, and search models and features.

Search should work by name, identifier, type, and category, with paging and total counts. Categories should be managed separately so a model can only use an existing category. Metadata should be flexible key value fields so different devices or services can store different details without changing the schema.

Please include health checks, reflection so grpcurl works, solid validation and error handling, Docker support for local running, and a simple Kubernetes setup for deployment. If tests and a demo script make sense, include those too and make the local run feel easy. Look up current docs online if you need to.

Want more depth? Deep Reverse