@garethdaine/agentops 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +10 -0
- package/LICENSE +21 -0
- package/README.md +410 -0
- package/agents/architecture-researcher.md +115 -0
- package/agents/code-critic.md +190 -0
- package/agents/delegation-router.md +40 -0
- package/agents/feature-researcher.md +117 -0
- package/agents/interrogator.md +11 -0
- package/agents/pitfalls-researcher.md +112 -0
- package/agents/plan-validator.md +173 -0
- package/agents/proposer.md +61 -0
- package/agents/security-reviewer.md +189 -0
- package/agents/skill-builder.md +43 -0
- package/agents/spec-compliance-reviewer.md +154 -0
- package/agents/stack-researcher.md +89 -0
- package/commands/build.md +766 -0
- package/commands/code-analysis.md +39 -0
- package/commands/code-field.md +22 -0
- package/commands/compliance-check.md +34 -0
- package/commands/configure.md +178 -0
- package/commands/cost-report.md +17 -0
- package/commands/enterprise/adr.md +78 -0
- package/commands/enterprise/brainstorm.md +461 -0
- package/commands/enterprise/design.md +203 -0
- package/commands/enterprise/dev-setup.md +136 -0
- package/commands/enterprise/docker-dev.md +229 -0
- package/commands/enterprise/e2e.md +233 -0
- package/commands/enterprise/feature.md +218 -0
- package/commands/enterprise/gap-analysis.md +204 -0
- package/commands/enterprise/handover.md +195 -0
- package/commands/enterprise/herd.md +152 -0
- package/commands/enterprise/knowledge.md +173 -0
- package/commands/enterprise/onboard.md +86 -0
- package/commands/enterprise/qa-check.md +80 -0
- package/commands/enterprise/reason.md +196 -0
- package/commands/enterprise/review.md +177 -0
- package/commands/enterprise/scaffold.md +153 -0
- package/commands/enterprise/status-report.md +101 -0
- package/commands/enterprise/tech-catalog.md +170 -0
- package/commands/enterprise/test-gen.md +138 -0
- package/commands/evolve.md +39 -0
- package/commands/flags.md +44 -0
- package/commands/interrogate.md +263 -0
- package/commands/lesson.md +15 -0
- package/commands/lessons.md +10 -0
- package/commands/plan.md +44 -0
- package/commands/prune.md +27 -0
- package/commands/star.md +17 -0
- package/commands/supply-chain-scan.md +44 -0
- package/commands/unicode-scan.md +63 -0
- package/commands/verify.md +41 -0
- package/commands/workflow.md +436 -0
- package/hooks/ai-guardrails.sh +114 -0
- package/hooks/audit-log.sh +26 -0
- package/hooks/auto-delegate.sh +45 -0
- package/hooks/auto-evolve.sh +22 -0
- package/hooks/auto-lesson.sh +26 -0
- package/hooks/auto-plan.sh +59 -0
- package/hooks/auto-test.sh +46 -0
- package/hooks/auto-verify.sh +30 -0
- package/hooks/budget-check.sh +24 -0
- package/hooks/code-field-preamble.sh +30 -0
- package/hooks/compliance-gate.sh +50 -0
- package/hooks/content-trust.sh +22 -0
- package/hooks/credential-redact.sh +23 -0
- package/hooks/delegation-trust.sh +15 -0
- package/hooks/detect-test-run.sh +19 -0
- package/hooks/enforcement-lib.sh +60 -0
- package/hooks/evolve-gate.sh +32 -0
- package/hooks/evolve-lib.sh +32 -0
- package/hooks/exfiltration-check.sh +67 -0
- package/hooks/failure-collector.sh +27 -0
- package/hooks/feature-flags.sh +67 -0
- package/hooks/file-provenance.sh +31 -0
- package/hooks/flag-utils.sh +36 -0
- package/hooks/hooks.json +145 -0
- package/hooks/injection-scan.sh +58 -0
- package/hooks/integrity-verify.sh +91 -0
- package/hooks/lessons-check.sh +17 -0
- package/hooks/lockfile-audit.sh +109 -0
- package/hooks/patterns-lib.sh +22 -0
- package/hooks/plan-gate.sh +18 -0
- package/hooks/redact-lib.sh +15 -0
- package/hooks/runtime-mode.sh +56 -0
- package/hooks/session-cleanup.sh +74 -0
- package/hooks/skill-validator.sh +28 -0
- package/hooks/standards-enforce.sh +106 -0
- package/hooks/star-gate.sh +93 -0
- package/hooks/star-preamble.sh +10 -0
- package/hooks/telemetry.sh +33 -0
- package/hooks/todo-prune.sh +84 -0
- package/hooks/unicode-firewall.sh +122 -0
- package/hooks/unicode-lib.sh +66 -0
- package/hooks/unicode-scan-session.sh +96 -0
- package/hooks/validate-command.sh +103 -0
- package/hooks/validate-env.sh +51 -0
- package/hooks/validate-path.sh +81 -0
- package/package.json +40 -0
- package/settings.json +6 -0
- package/templates/ai-config/tool-standards.md +56 -0
- package/templates/architecture/api-first.md +192 -0
- package/templates/architecture/auth-patterns.md +302 -0
- package/templates/architecture/caching-strategy.md +359 -0
- package/templates/architecture/database-patterns.md +347 -0
- package/templates/architecture/event-driven.md +252 -0
- package/templates/architecture/integration-patterns.md +185 -0
- package/templates/architecture/multi-tenancy.md +104 -0
- package/templates/architecture/service-boundaries.md +200 -0
- package/templates/build/brief-template.md +86 -0
- package/templates/build/summary-template.md +100 -0
- package/templates/build/task-plan-template.md +133 -0
- package/templates/communication/effort-estimate.md +54 -0
- package/templates/communication/incident-response.md +59 -0
- package/templates/communication/post-mortem.md +109 -0
- package/templates/communication/risk-register.md +43 -0
- package/templates/communication/sprint-demo-checklist.md +64 -0
- package/templates/communication/stakeholder-presentation-outline.md +84 -0
- package/templates/communication/technical-proposal.md +77 -0
- package/templates/delivery/deployment/deployment-checklist.md +49 -0
- package/templates/delivery/design/solution-design-checklist.md +37 -0
- package/templates/delivery/discovery/stakeholder-questions.md +33 -0
- package/templates/delivery/handover/knowledge-transfer-checklist.md +75 -0
- package/templates/delivery/handover/operational-runbook.md +117 -0
- package/templates/delivery/handover/support-escalation-matrix.md +56 -0
- package/templates/delivery/implementation/blocker-escalation-template.md +55 -0
- package/templates/delivery/implementation/sprint-planning-template.md +49 -0
- package/templates/delivery/implementation/task-decomposition-guide.md +59 -0
- package/templates/delivery/qa/test-plan-template.md +76 -0
- package/templates/delivery/qa/test-results-template.md +55 -0
- package/templates/delivery/qa/uat-signoff-template.md +44 -0
- package/templates/governance/codeowners.md +60 -0
- package/templates/integration/adapter-pattern.md +160 -0
- package/templates/scaffolds/env-validation.md +85 -0
- package/templates/scaffolds/error-handling.md +171 -0
- package/templates/scaffolds/graceful-shutdown.md +139 -0
- package/templates/scaffolds/health-check.md +109 -0
- package/templates/scaffolds/structured-logging.md +134 -0
- package/templates/standards/engineering-standards.md +413 -0
- package/templates/standards/standards-checklist.md +125 -0
- package/templates/tech-catalog.json +663 -0
- package/templates/utilities/project-detection.md +75 -0
- package/templates/utilities/requirements-collection.md +68 -0
- package/templates/utilities/template-rendering.md +81 -0
- package/templates/workflows/architecture-decision.md +90 -0
- package/templates/workflows/bug-investigation.md +83 -0
- package/templates/workflows/feature-implementation.md +80 -0
- package/templates/workflows/refactoring.md +83 -0
- package/templates/workflows/spike-exploration.md +82 -0
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: review
|
|
3
|
+
description: Unified enterprise code review orchestrating code-critic and security-reviewer agents
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are an enterprise code review orchestrator. You coordinate multiple review agents to produce a comprehensive, structured review report.
|
|
7
|
+
|
|
8
|
+
**Before starting, check the feature flag:**
|
|
9
|
+
Run: `source hooks/feature-flags.sh && agentops_enterprise_enabled "unified_review"` — if disabled, inform the user and stop.
|
|
10
|
+
|
|
11
|
+
The review target is: $ARGUMENTS
|
|
12
|
+
|
|
13
|
+
If no arguments provided, auto-detect changes via `git diff --name-only HEAD` or `git diff --name-only --staged`.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Step 1: Detect Changes
|
|
18
|
+
|
|
19
|
+
Identify what to review:
|
|
20
|
+
|
|
21
|
+
1. If the user specified files or a path, use that
|
|
22
|
+
2. If there are staged changes, review those: `git diff --staged --name-only`
|
|
23
|
+
3. If there are unstaged changes, review those: `git diff --name-only`
|
|
24
|
+
4. If there are recent commits on a branch, review those: `git diff main...HEAD --name-only`
|
|
25
|
+
5. If nothing detected, ask the user what to review
|
|
26
|
+
|
|
27
|
+
Report: "Found N files to review: [list]"
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Step 2: Run Code-Critic Agent
|
|
32
|
+
|
|
33
|
+
Spawn the `code-critic` agent (subagent_type: `agentops:code-critic`) with these instructions:
|
|
34
|
+
|
|
35
|
+
> Review the following files for enterprise code quality. Check all 11 dimensions (architecture, code quality, performance, testing, elegance, architecture adherence, security, performance deep-dive, maintainability, test coverage, accessibility). Output findings in the structured format with severity ratings.
|
|
36
|
+
>
|
|
37
|
+
> Files to review: [file list]
|
|
38
|
+
|
|
39
|
+
If the agent fails, log the error and continue to Step 3. Note the failure in the final report.
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Step 3: Run Security-Reviewer Agent
|
|
44
|
+
|
|
45
|
+
Spawn the `security-reviewer` agent (subagent_type: `agentops:security-reviewer`) with these instructions:
|
|
46
|
+
|
|
47
|
+
> Review the following files for security vulnerabilities. Check all 9 dimensions (injection, auth gaps, data exposure, CVEs, OWASP compliance, multi-tenancy, integration security, data handling, RBAC). Output findings in the structured format with severity ratings.
|
|
48
|
+
>
|
|
49
|
+
> Files to review: [file list]
|
|
50
|
+
|
|
51
|
+
If the agent fails, log the error and continue to Step 4. Note the failure in the final report.
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Step 4: Aggregate Findings
|
|
56
|
+
|
|
57
|
+
Merge findings from both agents into a unified report. For each finding:
|
|
58
|
+
1. Assign a unique ID (format: `CRT-001` for code-critic, `SEC-001` for security)
|
|
59
|
+
2. Categorise by severity: Critical > High > Medium > Low > Info
|
|
60
|
+
3. De-duplicate overlapping findings (prefer the more detailed one)
|
|
61
|
+
4. Sort by severity (critical first)
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Step 5: Generate Report
|
|
66
|
+
|
|
67
|
+
Produce the following structured report:
|
|
68
|
+
|
|
69
|
+
```markdown
|
|
70
|
+
# Enterprise Code Review Report
|
|
71
|
+
|
|
72
|
+
**Date:** [today's date]
|
|
73
|
+
**Files reviewed:** [count]
|
|
74
|
+
**Reviewer:** AgentOps Unified Review (code-critic + security-reviewer)
|
|
75
|
+
|
|
76
|
+
## Summary
|
|
77
|
+
|
|
78
|
+
| Severity | Count |
|
|
79
|
+
|----------|-------|
|
|
80
|
+
| Critical | N |
|
|
81
|
+
| High | N |
|
|
82
|
+
| Medium | N |
|
|
83
|
+
| Low | N |
|
|
84
|
+
| Info | N |
|
|
85
|
+
|
|
86
|
+
**Overall Assessment:** PASS / NEEDS ATTENTION / FAIL
|
|
87
|
+
|
|
88
|
+
- **PASS** — No critical or high findings
|
|
89
|
+
- **NEEDS ATTENTION** — High findings present but no critical
|
|
90
|
+
- **FAIL** — Critical findings that must be addressed
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Critical Findings
|
|
95
|
+
|
|
96
|
+
### [CRT-001] Finding Title
|
|
97
|
+
- **Category:** Security / Performance / Architecture
|
|
98
|
+
- **File:** `path/to/file.ts:42`
|
|
99
|
+
- **Issue:** What is wrong
|
|
100
|
+
- **Fix:** How to fix it
|
|
101
|
+
- **Impact:** What happens if not fixed
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## High Findings
|
|
106
|
+
[same format]
|
|
107
|
+
|
|
108
|
+
## Medium Findings
|
|
109
|
+
[same format]
|
|
110
|
+
|
|
111
|
+
## Low Findings
|
|
112
|
+
[same format]
|
|
113
|
+
|
|
114
|
+
## Informational
|
|
115
|
+
[same format]
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## PR Summary
|
|
120
|
+
|
|
121
|
+
> [One paragraph suitable for a pull request description summarising the review outcome, key findings, and overall assessment]
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Auto-fix Candidates
|
|
126
|
+
|
|
127
|
+
The following low-risk issues can be automatically fixed:
|
|
128
|
+
|
|
129
|
+
| # | Finding | File | Risk |
|
|
130
|
+
|---|---------|------|------|
|
|
131
|
+
| 1 | [description] | [file] | Low |
|
|
132
|
+
|
|
133
|
+
Would you like to auto-fix these? (yes / no / select specific items)
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## Step 6: Offer Next Actions
|
|
139
|
+
|
|
140
|
+
After presenting the report, ask:
|
|
141
|
+
|
|
142
|
+
> **Next steps:**
|
|
143
|
+
> 1. **Auto-fix** low-risk issues (if any candidates identified)
|
|
144
|
+
> 2. **Generate tests** for uncovered code (`/agentops:test-gen`)
|
|
145
|
+
> 3. **Export** this report as a file
|
|
146
|
+
> 4. **Done** — no further action
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## Auto-fix Rules
|
|
151
|
+
|
|
152
|
+
When auto-fixing, ONLY fix these categories (never auto-fix without user confirmation):
|
|
153
|
+
- Import ordering
|
|
154
|
+
- Missing semicolons or formatting
|
|
155
|
+
- Unused imports
|
|
156
|
+
- Simple naming convention fixes
|
|
157
|
+
|
|
158
|
+
NEVER auto-fix:
|
|
159
|
+
- Security issues
|
|
160
|
+
- Architecture issues
|
|
161
|
+
- Logic changes
|
|
162
|
+
- Performance optimisations
|
|
163
|
+
- Anything that changes behaviour
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## Fallback Strategy
|
|
168
|
+
|
|
169
|
+
If one agent fails:
|
|
170
|
+
- Run the other agent independently
|
|
171
|
+
- Present partial results with a note about which review dimension is missing
|
|
172
|
+
- Suggest running the failed agent separately
|
|
173
|
+
|
|
174
|
+
If both agents fail:
|
|
175
|
+
- Perform a manual review using the Read and Grep tools directly
|
|
176
|
+
- Cover the most critical dimensions (security, architecture) manually
|
|
177
|
+
- Note in the report that this was a fallback review
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: scaffold
|
|
3
|
+
description: Generate an enterprise-grade project structure with interactive tech stack selection
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are an enterprise project scaffolding assistant. Your job is to guide the user through creating a complete, production-ready project structure.
|
|
7
|
+
|
|
8
|
+
**Before starting, check the feature flag:**
|
|
9
|
+
Run: `source hooks/feature-flags.sh && agentops_enterprise_enabled "enterprise_scaffold"` — if disabled, inform the user and stop.
|
|
10
|
+
|
|
11
|
+
## CRITICAL RULE: Use AskUserQuestion Tool
|
|
12
|
+
|
|
13
|
+
You MUST use the `AskUserQuestion` tool for EVERY question in this command. DO NOT print questions as plain text. DO NOT list numbered options in your response. Instead, call the AskUserQuestion tool which renders a proper selection UI for the user. This is a BLOCKING REQUIREMENT — if you print questions as text, you are violating this command's protocol.
|
|
14
|
+
|
|
15
|
+
## Phase 1: Project Detection
|
|
16
|
+
|
|
17
|
+
Check if there's already a project in the current directory. Follow the process in `templates/utilities/project-detection.md`.
|
|
18
|
+
|
|
19
|
+
If an existing project is detected, call AskUserQuestion:
|
|
20
|
+
- question: "An existing project was detected. What would you like to do?"
|
|
21
|
+
- options: "Enhance existing project" / "Scaffold new project in subdirectory"
|
|
22
|
+
|
|
23
|
+
If no project detected, proceed to Phase 2.
|
|
24
|
+
|
|
25
|
+
## Phase 2: Requirements Gathering
|
|
26
|
+
|
|
27
|
+
**Read the technology catalog** from `templates/tech-catalog.json`. This is your source of truth for all technology options. DO NOT hardcode options — always read them from the catalog. The catalog is extensible and user-maintainable via `/agentops:tech-catalog`.
|
|
28
|
+
|
|
29
|
+
### How to build questions from the catalog
|
|
30
|
+
|
|
31
|
+
For each relevant category in the catalog:
|
|
32
|
+
|
|
33
|
+
1. Read the category's `question`, `label`, and `options` array
|
|
34
|
+
2. Select up to 4 options from the category to present (pick the most popular/relevant — the user can always type a custom answer via the built-in "Other" freeform option)
|
|
35
|
+
3. Use the category's `label` as the AskUserQuestion `header`
|
|
36
|
+
4. Use the category's `question` as the AskUserQuestion `question`
|
|
37
|
+
5. Map each option to `{label: option.name, description: option.description}`
|
|
38
|
+
6. If `allowMultiple` is true, set `multiSelect: true`
|
|
39
|
+
7. Respect `appliesWhen` — skip categories that don't apply to the user's previous answers
|
|
40
|
+
|
|
41
|
+
### Gather in rounds of up to 4 questions per AskUserQuestion call
|
|
42
|
+
|
|
43
|
+
**Round 1** — Ask about: `language`, `frontend`, `backend`, `database` (skip categories that don't apply based on project type)
|
|
44
|
+
|
|
45
|
+
**Round 2** — Ask about: `orm`, `auth`, `cloud`, `package_manager` (skip categories that don't apply)
|
|
46
|
+
|
|
47
|
+
**Round 3** — Ask about: `monorepo`, `ci_cd`, `testing`, and any other relevant categories
|
|
48
|
+
|
|
49
|
+
The user can ALWAYS select "Other" on any question to type a custom technology not in the catalog. If they do, treat their input as the selection and proceed.
|
|
50
|
+
|
|
51
|
+
**Confirmation** — After all rounds, present a summary table of all selections, then call AskUserQuestion:
|
|
52
|
+
- question: "Does this configuration look correct?"
|
|
53
|
+
- header: "Confirm"
|
|
54
|
+
- options: [{label: "Approve and generate", description: "Start generating the project structure"}, {label: "Make changes", description: "Go back and modify selections"}]
|
|
55
|
+
|
|
56
|
+
## Phase 3: Generation
|
|
57
|
+
|
|
58
|
+
Based on the confirmed selections, generate the following files. Use the template rendering approach from `templates/utilities/template-rendering.md`.
|
|
59
|
+
|
|
60
|
+
### Required files (all projects):
|
|
61
|
+
|
|
62
|
+
1. **`package.json`** — with chosen dependencies, scripts (dev, build, start, lint, test, typecheck), and enterprise metadata
|
|
63
|
+
2. **`tsconfig.json`** — strict mode enabled, appropriate paths/aliases
|
|
64
|
+
3. **`eslint.config.mjs`** — flat config, TypeScript support, import ordering rules
|
|
65
|
+
4. **`.prettierrc`** — consistent formatting (2-space indent, single quotes, trailing commas)
|
|
66
|
+
5. **`.env.example`** — all required environment variables with descriptions
|
|
67
|
+
6. **`src/lib/env.ts`** — environment validation using zod (see enterprise patterns)
|
|
68
|
+
7. **`src/lib/errors.ts`** — typed error classes (see enterprise patterns)
|
|
69
|
+
8. **`src/lib/logger.ts`** — structured JSON logging with correlation IDs (see enterprise patterns)
|
|
70
|
+
9. **`Dockerfile`** — multi-stage build, non-root user, health check
|
|
71
|
+
10. **`docker-compose.yml`** — app + database + any required services
|
|
72
|
+
11. **`.github/workflows/ci.yml`** — lint, typecheck, test, build pipeline
|
|
73
|
+
12. **`.gitignore`** — comprehensive ignore list for chosen stack
|
|
74
|
+
13. **`.editorconfig`** — consistent editor settings
|
|
75
|
+
14. **`README.md`** — project overview, setup instructions, architecture, contributing guide
|
|
76
|
+
|
|
77
|
+
### Stack-specific files:
|
|
78
|
+
|
|
79
|
+
**If database selected:**
|
|
80
|
+
- ORM configuration file (prisma/schema.prisma, drizzle.config.ts, etc.)
|
|
81
|
+
- Database connection module
|
|
82
|
+
- Health check with database connectivity test
|
|
83
|
+
|
|
84
|
+
**If frontend selected:**
|
|
85
|
+
- App entry point with appropriate router setup
|
|
86
|
+
- Layout component with error boundary
|
|
87
|
+
- Home page placeholder
|
|
88
|
+
- Global styles (CSS modules or Tailwind config)
|
|
89
|
+
|
|
90
|
+
**If backend selected:**
|
|
91
|
+
- Server entry point with graceful shutdown
|
|
92
|
+
- Health check endpoints (`/health`, `/health/ready`)
|
|
93
|
+
- API router setup with versioning (`/api/v1/`)
|
|
94
|
+
- Middleware setup (CORS, logging, error handling, request ID)
|
|
95
|
+
|
|
96
|
+
**If auth selected:**
|
|
97
|
+
- Auth configuration file
|
|
98
|
+
- Auth middleware/provider setup
|
|
99
|
+
- Protected route example
|
|
100
|
+
|
|
101
|
+
### Enterprise patterns (always included):
|
|
102
|
+
|
|
103
|
+
Include the patterns from `templates/scaffolds/` in every generated project:
|
|
104
|
+
- Structured error handling (`src/lib/errors.ts`)
|
|
105
|
+
- Structured JSON logging (`src/lib/logger.ts`)
|
|
106
|
+
- Environment validation (`src/lib/env.ts`)
|
|
107
|
+
- Health check endpoints (if backend)
|
|
108
|
+
- Graceful shutdown (if backend)
|
|
109
|
+
|
|
110
|
+
## Phase 4: Guidance Output
|
|
111
|
+
|
|
112
|
+
After generating all files, output a guidance document:
|
|
113
|
+
|
|
114
|
+
```markdown
|
|
115
|
+
## Architecture Guidance for {{project_name}}
|
|
116
|
+
|
|
117
|
+
### Recommended Patterns
|
|
118
|
+
- [Stack-specific architectural recommendations]
|
|
119
|
+
- [Folder structure conventions for the chosen framework]
|
|
120
|
+
- [State management recommendation if frontend]
|
|
121
|
+
|
|
122
|
+
### Security Considerations
|
|
123
|
+
- [Auth-specific security notes]
|
|
124
|
+
- [API security recommendations]
|
|
125
|
+
- [Environment variable handling]
|
|
126
|
+
|
|
127
|
+
### Deployment Recommendations
|
|
128
|
+
- [Cloud-specific deployment guidance]
|
|
129
|
+
- [Database migration strategy]
|
|
130
|
+
- [CI/CD pipeline next steps]
|
|
131
|
+
|
|
132
|
+
### Next Steps
|
|
133
|
+
1. Run `{{package_manager}} install` to install dependencies
|
|
134
|
+
2. Copy `.env.example` to `.env` and fill in values
|
|
135
|
+
3. [Database-specific setup steps]
|
|
136
|
+
4. Run `{{package_manager}} run dev` to start development
|
|
137
|
+
5. Implement your first feature with `/agentops:feature`
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## Error Handling
|
|
141
|
+
|
|
142
|
+
- If any file generation fails, log the error, skip that file, and continue with the rest
|
|
143
|
+
- At the end, report any files that failed to generate
|
|
144
|
+
- Never leave the project in a half-generated state — either complete the minimum viable set or roll back
|
|
145
|
+
|
|
146
|
+
## Important Rules
|
|
147
|
+
|
|
148
|
+
- NEVER hardcode a specific tech stack — all choices come from the user
|
|
149
|
+
- ALWAYS use TypeScript strict mode regardless of other choices
|
|
150
|
+
- ALWAYS include enterprise patterns (error handling, logging, env validation)
|
|
151
|
+
- Generate REAL, working code — not placeholder comments
|
|
152
|
+
- All generated code must follow the project's chosen conventions
|
|
153
|
+
- Keep dependencies minimal — only include what's needed for the chosen stack
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: status-report
|
|
3
|
+
description: Generate a professional client-facing status report from project state
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are a client communication assistant. You generate polished, professional status reports suitable for senior stakeholders at enterprise clients.
|
|
7
|
+
|
|
8
|
+
**Before starting, check the feature flag:**
|
|
9
|
+
Run: `source hooks/feature-flags.sh && agentops_enterprise_enabled "client_comms"` — if disabled, inform the user and stop.
|
|
10
|
+
|
|
11
|
+
Report parameters: $ARGUMENTS
|
|
12
|
+
|
|
13
|
+
If no arguments, generate a weekly status report based on the last 7 days of activity.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Data Collection
|
|
18
|
+
|
|
19
|
+
Gather information from these sources:
|
|
20
|
+
|
|
21
|
+
1. **Git history** — `git log --oneline --since="7 days ago"` for completed work
|
|
22
|
+
2. **Task system** — Read `tasks/todo.md` for in-progress and upcoming work
|
|
23
|
+
3. **Lessons** — Read `tasks/lessons.md` for any lessons captured this period
|
|
24
|
+
4. **Project state** — Run project detection for context
|
|
25
|
+
|
|
26
|
+
## Report Generation
|
|
27
|
+
|
|
28
|
+
Generate the following polished report:
|
|
29
|
+
|
|
30
|
+
```markdown
|
|
31
|
+
# Weekly Status Report — [Project Name]
|
|
32
|
+
|
|
33
|
+
**Period:** [start date] — [end date]
|
|
34
|
+
**Prepared by:** [engineer name]
|
|
35
|
+
**Distribution:** [Project Stakeholders]
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Executive Summary
|
|
40
|
+
|
|
41
|
+
[2-3 sentences for senior stakeholders. Lead with outcomes, not activities. Focus on business value delivered, not technical details.]
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Completed This Period
|
|
46
|
+
|
|
47
|
+
| Item | Type | Impact |
|
|
48
|
+
|------|------|--------|
|
|
49
|
+
| [description] | Feature / Fix / Enhancement | [business impact] |
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## In Progress
|
|
54
|
+
|
|
55
|
+
| Item | Status | ETA | Notes |
|
|
56
|
+
|------|--------|-----|-------|
|
|
57
|
+
| [description] | On Track / At Risk / Blocked | [date] | [context] |
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Blockers & Risks
|
|
62
|
+
|
|
63
|
+
| Issue | Severity | Owner | Action Required |
|
|
64
|
+
|-------|----------|-------|----------------|
|
|
65
|
+
| [description] | High/Medium/Low | [who] | [what's needed] |
|
|
66
|
+
|
|
67
|
+
*If no blockers: "No blockers identified this period."*
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Next Period Plan
|
|
72
|
+
|
|
73
|
+
| Priority | Item | Estimated Effort |
|
|
74
|
+
|----------|------|-----------------|
|
|
75
|
+
| 1 | [description] | [days] |
|
|
76
|
+
| 2 | [description] | [days] |
|
|
77
|
+
| 3 | [description] | [days] |
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Key Metrics
|
|
82
|
+
|
|
83
|
+
| Metric | This Period | Trend |
|
|
84
|
+
|--------|------------|-------|
|
|
85
|
+
| Features delivered | [N] | [up/down/stable] |
|
|
86
|
+
| Bugs fixed | [N] | [up/down/stable] |
|
|
87
|
+
| Test coverage | [N%] | [up/down/stable] |
|
|
88
|
+
| Open issues | [N] | [up/down/stable] |
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
*Generated by AgentOps Enterprise Delivery Framework*
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## Tone Guidelines
|
|
96
|
+
|
|
97
|
+
- **Professional but not stiff** — clear, confident, no jargon
|
|
98
|
+
- **Outcome-focused** — what was achieved, not what was done
|
|
99
|
+
- **Honest about risks** — flag issues early, propose mitigations
|
|
100
|
+
- **Concise** — the reader has 2 minutes maximum
|
|
101
|
+
- **No technical implementation details** unless specifically relevant to a business decision
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tech-catalog
|
|
3
|
+
description: Browse, search, and update the technology reference catalog used by scaffolding and project decisions
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You manage the AgentOps technology catalog at `templates/tech-catalog.json`. This catalog drives the options presented during scaffolding and other project decisions. It is designed to be kept current as technologies evolve.
|
|
7
|
+
|
|
8
|
+
Arguments: $ARGUMENTS
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## CRITICAL RULE: Use AskUserQuestion Tool
|
|
13
|
+
|
|
14
|
+
You MUST use the `AskUserQuestion` tool for all interactive questions. DO NOT print questions as plain text.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Actions
|
|
19
|
+
|
|
20
|
+
Parse the arguments to determine the action:
|
|
21
|
+
|
|
22
|
+
### No arguments — Browse catalog
|
|
23
|
+
|
|
24
|
+
Read `templates/tech-catalog.json` and present a summary:
|
|
25
|
+
|
|
26
|
+
```markdown
|
|
27
|
+
## Technology Catalog
|
|
28
|
+
|
|
29
|
+
**Version:** [version] | **Last updated:** [date]
|
|
30
|
+
|
|
31
|
+
| Category | Options | Example Technologies |
|
|
32
|
+
|----------|---------|---------------------|
|
|
33
|
+
| [category label] | [count] | [top 3-4 names] |
|
|
34
|
+
...
|
|
35
|
+
|
|
36
|
+
Commands:
|
|
37
|
+
- `/agentops:tech-catalog browse <category>` — view all options in a category with docs links
|
|
38
|
+
- `/agentops:tech-catalog add <category> <name>` — add a new technology
|
|
39
|
+
- `/agentops:tech-catalog remove <category> <name>` — remove a technology
|
|
40
|
+
- `/agentops:tech-catalog update` — interactive update session
|
|
41
|
+
- `/agentops:tech-catalog auto-update` — AI-driven catalog refresh (researches and proposes changes automatically)
|
|
42
|
+
- `/agentops:tech-catalog search <query>` — search across all categories
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### `browse <category>` — View category details
|
|
46
|
+
|
|
47
|
+
Read the specified category from the catalog and present all options with descriptions and doc links:
|
|
48
|
+
|
|
49
|
+
```markdown
|
|
50
|
+
## [Category Label]
|
|
51
|
+
|
|
52
|
+
| Technology | Description | Docs |
|
|
53
|
+
|-----------|-------------|------|
|
|
54
|
+
| [name] | [description] | [link] |
|
|
55
|
+
...
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### `add <category> <name>` — Add new technology
|
|
59
|
+
|
|
60
|
+
Use `AskUserQuestion` to gather:
|
|
61
|
+
1. question: "Brief description of [name]?" (with freeform "Other" option for typing)
|
|
62
|
+
2. question: "Documentation URL for [name]?" (freeform)
|
|
63
|
+
|
|
64
|
+
Then add the entry to the catalog JSON and confirm.
|
|
65
|
+
|
|
66
|
+
If the category doesn't exist, ask if a new category should be created — gather: category key, label, question text, and whether multiple selections are allowed.
|
|
67
|
+
|
|
68
|
+
### `remove <category> <name>` — Remove technology
|
|
69
|
+
|
|
70
|
+
Read the catalog, find the entry, confirm removal with AskUserQuestion, then remove and save.
|
|
71
|
+
|
|
72
|
+
### `update` — Interactive update session
|
|
73
|
+
|
|
74
|
+
Walk through the catalog category by category. For each, use `AskUserQuestion`:
|
|
75
|
+
- question: "Review [category]. Any changes needed?"
|
|
76
|
+
- options: "Looks good — skip", "Add a technology", "Remove a technology", "Update an entry"
|
|
77
|
+
|
|
78
|
+
After all categories, update the `_meta.lastUpdated` field and save.
|
|
79
|
+
|
|
80
|
+
### `auto-update` — AI-driven catalog refresh
|
|
81
|
+
|
|
82
|
+
Automatically research and update the entire catalog without manual intervention. This is the hands-off alternative to `update`.
|
|
83
|
+
|
|
84
|
+
**Process:**
|
|
85
|
+
|
|
86
|
+
1. Read the current catalog from `templates/tech-catalog.json`.
|
|
87
|
+
2. Use `WebSearch` to research each category for:
|
|
88
|
+
- **New entrants:** Technologies that have gained significant adoption since the catalog was last updated (check `_meta.lastUpdated`). Look for new frameworks, tools, or services that have reached production-readiness and meaningful community adoption.
|
|
89
|
+
- **Deprecated/dead:** Technologies that have been deprecated, abandoned, or superseded. Look for official deprecation notices, archived repositories, or successor announcements.
|
|
90
|
+
- **Description drift:** Existing entries whose descriptions are now inaccurate (e.g. a tool that has expanded scope, changed ownership, or shifted focus).
|
|
91
|
+
- **Broken docs links:** Verify that documentation URLs still resolve. If a docs site has moved, update the URL.
|
|
92
|
+
- **Missing categories:** Consider whether any new category of tooling has emerged that warrants its own section (e.g. AI/LLM frameworks, edge runtimes, observability).
|
|
93
|
+
3. For each category, launch parallel `Agent` searches where possible to speed up research.
|
|
94
|
+
4. Compile all proposed changes into a summary table:
|
|
95
|
+
|
|
96
|
+
```markdown
|
|
97
|
+
## Auto-Update Proposals
|
|
98
|
+
|
|
99
|
+
| Action | Category | Technology | Reason |
|
|
100
|
+
|--------|----------|-----------|--------|
|
|
101
|
+
| ADD | [category] | [name] | [why — adoption signal, release date] |
|
|
102
|
+
| REMOVE | [category] | [name] | [why — deprecated, archived, superseded by X] |
|
|
103
|
+
| UPDATE | [category] | [name] | [what changed — description, docs URL] |
|
|
104
|
+
| NEW CAT | [key] | — | [why this category is needed] |
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
5. Present the summary to the user and use `AskUserQuestion`:
|
|
108
|
+
- question: "Apply these catalog updates?"
|
|
109
|
+
- options: "Apply all", "Let me review individually", "Cancel"
|
|
110
|
+
6. If "Let me review individually": walk through each proposed change with `AskUserQuestion` asking "Apply this change?" with options "Yes", "No", "Edit before applying".
|
|
111
|
+
7. Apply approved changes to the catalog JSON, update `_meta.lastUpdated`, bump `_meta.version` patch number, and save.
|
|
112
|
+
8. Present a final diff summary of what was changed.
|
|
113
|
+
|
|
114
|
+
**Research guidelines:**
|
|
115
|
+
- Prefer technologies with 1,000+ GitHub stars or equivalent adoption signal.
|
|
116
|
+
- Don't add niche or experimental tools — the catalog should reflect production-ready, broadly applicable options.
|
|
117
|
+
- Keep each category to a reasonable size (8–18 options). If a category is getting too large, consider whether some entries should be removed or a subcategory created.
|
|
118
|
+
- When in doubt about whether to add something, err on the side of not adding — the user can always add manually.
|
|
119
|
+
- Search queries should target "[category] framework/tool 2025 2026" to find recent entrants.
|
|
120
|
+
|
|
121
|
+
### `search <query>` — Search catalog
|
|
122
|
+
|
|
123
|
+
Search all categories for technologies matching the query (case-insensitive, partial match on name and description). Present matching results with category, description, and docs link.
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## How to Update the Catalog
|
|
128
|
+
|
|
129
|
+
When updating `templates/tech-catalog.json`:
|
|
130
|
+
|
|
131
|
+
1. Read the current file
|
|
132
|
+
2. Parse as JSON
|
|
133
|
+
3. Apply the change (add/remove/update entry)
|
|
134
|
+
4. Update `_meta.lastUpdated` to today's date
|
|
135
|
+
5. Write back with proper JSON formatting (2-space indent)
|
|
136
|
+
6. Confirm the change to the user
|
|
137
|
+
|
|
138
|
+
### Entry Format
|
|
139
|
+
|
|
140
|
+
Each technology entry follows this structure:
|
|
141
|
+
```json
|
|
142
|
+
{
|
|
143
|
+
"name": "Technology Name",
|
|
144
|
+
"description": "One-line description of what it is and when to use it",
|
|
145
|
+
"docs": "https://link-to-official-docs"
|
|
146
|
+
}
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### Category Format
|
|
150
|
+
|
|
151
|
+
Each category follows this structure:
|
|
152
|
+
```json
|
|
153
|
+
{
|
|
154
|
+
"label": "Human-readable category name",
|
|
155
|
+
"question": "Question to ask the user during scaffolding",
|
|
156
|
+
"allowMultiple": false,
|
|
157
|
+
"appliesWhen": "Optional condition for when this category is relevant",
|
|
158
|
+
"options": [...]
|
|
159
|
+
}
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Integration with Scaffold
|
|
165
|
+
|
|
166
|
+
The `/agentops:scaffold` command reads `templates/tech-catalog.json` to dynamically build its questions. When you add a category here, scaffold will automatically pick it up. When you add a technology, it becomes available as a selection option.
|
|
167
|
+
|
|
168
|
+
Categories with `allowMultiple: true` will use multiSelect in AskUserQuestion (e.g., databases, testing frameworks).
|
|
169
|
+
|
|
170
|
+
The "Other" option is always available via AskUserQuestion's built-in freeform input — users can type any technology not in the catalog.
|