grafana-plugins/
├── AGENTS.md # canonical agent guide (read first)
├── CLAUDE.md # pointer → AGENTS.md
├── mkdocs.yml # this documentation site
├── specs/ # spec-driven docs (requirements/design/tasks) per feature
│ ├── monorepo-foundation/ # structural decision (monorepo) + rationale
│ ├── nodegraph-servicemap/ # service map panel spec
│ └── aigent-squad-chat/ # AIgent Squad chat app spec
├── packages/ # one directory per plugin
│ ├── staffops-servicemap-panel/
│ └── staffops-aigent-squad-chat-app/
├── pnpm-workspace.yaml # workspace = packages/*
└── package.json # recursive scripts (build/test/lint)
packages/<plugin>/
├── src/
│ ├── plugin.json # Grafana plugin manifest (id, type, dependencies)
│ ├── module.tsx # plugin entry point (panel or AppPlugin)
│ └── components/ … # React components
├── .config/ # scaffolded webpack/jest/ts config (do not edit directly)
├── provisioning/ # local Grafana provisioning (datasources, apps, dashboards)
├── README.md # plugin-specific documentation
├── package.json # scripts: build / dev / test / test:ci / typecheck / lint / sign
└── tsconfig.json