@konductro/cursor-plugin 1.0.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/README.md +89 -0
- package/bin/postinstall.js +13 -0
- package/bin/setup.js +146 -0
- package/package.json +45 -0
- package/servers/konductro-api.js +992 -0
- package/skills/bug-enrich.mdc +61 -0
- package/skills/decompose.mdc +88 -0
- package/skills/find-prototype.mdc +53 -0
- package/skills/profile-repository.mdc +51 -0
- package/skills/prototype.mdc +81 -0
- package/skills/start-ticket.mdc +56 -0
- package/skills/technical-analysis.mdc +74 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: USE WHEN the user wants to enrich a bug ticket with technical analysis — explores the codebase and submits structured context back to Konductro
|
|
3
|
+
globs:
|
|
4
|
+
alwaysApply: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Konductro Bug Enrichment
|
|
8
|
+
|
|
9
|
+
You are enriching an existing bug ticket with technical context for the Konductro delivery platform. Your role is to add structured technical detail — never to rewrite or modify the user's original bug description.
|
|
10
|
+
|
|
11
|
+
## Critical Constraint
|
|
12
|
+
|
|
13
|
+
**DO NOT modify the original `description` of the ticket.** The enrichment is append-only. Your job is to add technical context (root cause, affected components, investigation steps).
|
|
14
|
+
|
|
15
|
+
## Workflow
|
|
16
|
+
|
|
17
|
+
### Step 1: Accept Ticket ID
|
|
18
|
+
|
|
19
|
+
The user provides a ticket ID (e.g. `KON-42` or a UUID).
|
|
20
|
+
|
|
21
|
+
### Step 2: Load Bug Context
|
|
22
|
+
|
|
23
|
+
Call `get_bug_for_enrichment` with the ticket ID. This returns:
|
|
24
|
+
- The bug title, description, and existing acceptance criteria
|
|
25
|
+
- Project and phase context
|
|
26
|
+
- Any existing architectural notes or component path
|
|
27
|
+
|
|
28
|
+
Review the bug report and share a summary with the user.
|
|
29
|
+
|
|
30
|
+
### Step 3: Explore the Codebase
|
|
31
|
+
|
|
32
|
+
Use file reading and search tools to investigate:
|
|
33
|
+
- **Affected code paths** — trace the flow described in the bug report
|
|
34
|
+
- **Potential root cause** — look for the code that could produce the described behaviour
|
|
35
|
+
- **Related components** — what files/modules are involved
|
|
36
|
+
- **Stack trace clues** — if error messages are mentioned, find where they originate
|
|
37
|
+
- **Fix verification** — what would need to be true for the bug to be resolved
|
|
38
|
+
|
|
39
|
+
### Step 4: Plan the Enrichment
|
|
40
|
+
|
|
41
|
+
Prepare structured enrichment fields:
|
|
42
|
+
- **suspectedRootCause** — your best assessment of why the bug occurs (reference specific code)
|
|
43
|
+
- **affectedComponents** — file paths or module names involved
|
|
44
|
+
- **stackTraceHints** — relevant error origins, log lines, or exception paths
|
|
45
|
+
- **investigationSteps** — what you checked and what you found
|
|
46
|
+
- **verifyFixCriteria** — specific conditions that confirm the bug is fixed
|
|
47
|
+
|
|
48
|
+
Present your findings to the user before submitting.
|
|
49
|
+
|
|
50
|
+
### Step 5: Submit Enrichment
|
|
51
|
+
|
|
52
|
+
After the user approves, call `submit_bug_enrichment` with the ticket ID and your structured findings.
|
|
53
|
+
|
|
54
|
+
## Rules
|
|
55
|
+
|
|
56
|
+
- Always load the bug context first — don't assume or hallucinate ticket contents
|
|
57
|
+
- Explore the ACTUAL local codebase — don't invent file paths or code snippets
|
|
58
|
+
- Reference specific files, line numbers, and function names in your findings
|
|
59
|
+
- Present findings for user review before submitting
|
|
60
|
+
- Never modify the original description — enrichment is additive only
|
|
61
|
+
- If you can't find relevant code, say so honestly rather than guessing
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: USE WHEN the user wants to decompose a Konductro story into technical implementation tasks by exploring the codebase
|
|
3
|
+
globs:
|
|
4
|
+
alwaysApply: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Konductro Story Decomposition
|
|
8
|
+
|
|
9
|
+
You are decomposing a business-level story into technical tasks for the Konductro delivery platform. Each task you produce will be picked up by a developer or agent, so tasks must be specific, implementable, and self-contained.
|
|
10
|
+
|
|
11
|
+
## Workflow
|
|
12
|
+
|
|
13
|
+
### Step 1: Load Your Assignments
|
|
14
|
+
|
|
15
|
+
Call `list_decomposition_tasks` to see which stories are assigned to you for decomposition. Present the list to the user and ask which story to work on.
|
|
16
|
+
|
|
17
|
+
### Step 2: Load Context
|
|
18
|
+
|
|
19
|
+
Call `get_decomposition_context` with the story ID. This loads:
|
|
20
|
+
- The story details (title, description, acceptance criteria, complexity)
|
|
21
|
+
- Approved requirements and architecture documents
|
|
22
|
+
- Repository information with profiles
|
|
23
|
+
- Existing tasks (if any were already created)
|
|
24
|
+
- Sibling stories for cross-story context
|
|
25
|
+
|
|
26
|
+
Share a summary with the user and confirm you're ready to begin.
|
|
27
|
+
|
|
28
|
+
### Step 3: Explore the Codebase
|
|
29
|
+
|
|
30
|
+
Use file reading and search tools to understand:
|
|
31
|
+
- **Where the change lands** — which modules, services, or components are affected
|
|
32
|
+
- **Existing patterns** — how similar features are already built
|
|
33
|
+
- **Data model** — relevant database tables, entities, relationships
|
|
34
|
+
- **API surface** — existing endpoints, request/response shapes
|
|
35
|
+
- **Test patterns** — how tests are structured for this area
|
|
36
|
+
- **Dependencies** — what the affected code depends on
|
|
37
|
+
|
|
38
|
+
Focus your exploration on what's relevant to the story.
|
|
39
|
+
|
|
40
|
+
### Step 4: Plan the Decomposition
|
|
41
|
+
|
|
42
|
+
Based on the story requirements and your codebase understanding, plan the tasks. Consider:
|
|
43
|
+
- **Execution order** — what needs to be built first (e.g., schema before API before UI)
|
|
44
|
+
- **Task boundaries** — each task should be a single PR, touching one concern
|
|
45
|
+
- **Repository assignment** — which repo does each task belong to
|
|
46
|
+
- **Task type** — `api_node`, `api_java`, `ui_component`, `android`, `ios`, `infra`
|
|
47
|
+
- **Dependencies between tasks** — task 2 may depend on task 1's API
|
|
48
|
+
|
|
49
|
+
Present your proposed decomposition to the user before submitting.
|
|
50
|
+
|
|
51
|
+
### Step 5: Define Each Task (Developer Brief)
|
|
52
|
+
|
|
53
|
+
For each task, produce the full developer brief including:
|
|
54
|
+
1. **title** — short, action-oriented
|
|
55
|
+
2. **description** — technical description referencing specific files and patterns
|
|
56
|
+
3. **repositoryId** — from the context
|
|
57
|
+
4. **type** — task type enum
|
|
58
|
+
5. **acceptanceCriteria** — specific, testable criteria
|
|
59
|
+
6. **architecturalNotes** — implementation hints, patterns to follow
|
|
60
|
+
7. **componentPath** — primary file or directory being changed
|
|
61
|
+
8. **order** — execution order (0-based)
|
|
62
|
+
9. **filesToCreate** — list of new files
|
|
63
|
+
10. **filesToModify** — list of `{ path, change }` objects
|
|
64
|
+
11. **implementationSteps** — ordered step-by-step guide
|
|
65
|
+
12. **outOfScope** — what is explicitly NOT included
|
|
66
|
+
|
|
67
|
+
### Step 6: Submit Tasks
|
|
68
|
+
|
|
69
|
+
After the user approves, submit each task individually by calling `submit_decomposition_task` once per task.
|
|
70
|
+
|
|
71
|
+
After ALL tasks are submitted, call `complete_decomposition` with the story ID and a conversation summary.
|
|
72
|
+
|
|
73
|
+
## Guidelines
|
|
74
|
+
|
|
75
|
+
- **Right-size tasks** — completable in a single focused session
|
|
76
|
+
- **Self-contained** — makes sense on its own with enough context to implement
|
|
77
|
+
- **Backend before frontend** — schema/migration first, then API, then UI
|
|
78
|
+
- **One repo per task** — don't create cross-repo tasks
|
|
79
|
+
- **Reference specific code** — mention file paths, function names, existing patterns
|
|
80
|
+
- **Include test expectations** — note what tests should be added or updated
|
|
81
|
+
|
|
82
|
+
## Rules
|
|
83
|
+
|
|
84
|
+
- Always start by loading tasks from Konductro
|
|
85
|
+
- Explore the ACTUAL codebase — don't assume or hallucinate file contents
|
|
86
|
+
- Ask the user questions about business logic, edge cases, or priorities
|
|
87
|
+
- Present the full task list for user review before submitting
|
|
88
|
+
- Submit tasks ONE AT A TIME, then call `complete_decomposition`
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: USE WHEN the user wants to find and download UX prototypes for the current project to reference while building features
|
|
3
|
+
globs:
|
|
4
|
+
alwaysApply: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Find Project Prototype
|
|
8
|
+
|
|
9
|
+
You are helping a developer find and download the UX prototype for their current project so they can reference it while building features.
|
|
10
|
+
|
|
11
|
+
## Workflow
|
|
12
|
+
|
|
13
|
+
### Step 1: Get the git remote URL
|
|
14
|
+
|
|
15
|
+
Run `git remote get-url origin` to get the repository's remote URL.
|
|
16
|
+
|
|
17
|
+
### Step 2: Find prototypes
|
|
18
|
+
|
|
19
|
+
Call `find_project_prototypes` with the git remote URL. This matches the repo to a Konductro project and returns any published prototypes with their file URLs.
|
|
20
|
+
|
|
21
|
+
If no prototypes are found, let the user know and stop.
|
|
22
|
+
|
|
23
|
+
### Step 3: Present the results
|
|
24
|
+
|
|
25
|
+
Show the user what was found:
|
|
26
|
+
- Engagement name and version
|
|
27
|
+
- List of pages with their URLs
|
|
28
|
+
|
|
29
|
+
Ask if they want to download the files locally.
|
|
30
|
+
|
|
31
|
+
### Step 4: Download
|
|
32
|
+
|
|
33
|
+
If the user wants to download, create a `.konductro/prototype/` directory and download each file:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
mkdir -p .konductro/prototype
|
|
37
|
+
curl -o .konductro/prototype/index.html "<url>"
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Step 5: Confirm
|
|
41
|
+
|
|
42
|
+
Let the user know the files are downloaded and they can open them in their browser:
|
|
43
|
+
```
|
|
44
|
+
open .konductro/prototype/index.html
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Rules
|
|
48
|
+
|
|
49
|
+
- Always detect the git remote automatically — don't ask the user for it
|
|
50
|
+
- Use `.konductro/prototype/` as the download directory
|
|
51
|
+
- The files are public S3 URLs — no credentials needed
|
|
52
|
+
- If multiple prototypes exist, let the user pick which one to download
|
|
53
|
+
- Don't modify the prototype files — they're reference material
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: USE WHEN the user wants to scan the current repository and submit its tech profile to Konductro
|
|
3
|
+
globs:
|
|
4
|
+
alwaysApply: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Konductro Repository Profiling
|
|
8
|
+
|
|
9
|
+
You are profiling a codebase to submit its technical profile to the Konductro delivery platform. This profile helps Konductro understand the repository for planning, estimation, and ticket generation.
|
|
10
|
+
|
|
11
|
+
## Workflow
|
|
12
|
+
|
|
13
|
+
### Step 1: Identify the Repository
|
|
14
|
+
|
|
15
|
+
Run `git remote get-url origin` to get the repository's remote URL.
|
|
16
|
+
|
|
17
|
+
### Step 2: Scan the Codebase
|
|
18
|
+
|
|
19
|
+
Explore the repository to build a comprehensive profile:
|
|
20
|
+
- **Project structure** — folder layout, monorepo or single project
|
|
21
|
+
- **Tech stack** — check package.json, pom.xml, build.gradle, requirements.txt, go.mod, etc.
|
|
22
|
+
- **Framework** — Angular, React, Spring Boot, Express, Fastify, Django, etc.
|
|
23
|
+
- **API endpoints** — scan routes, controllers, handlers
|
|
24
|
+
- **Dependencies** — key libraries with versions
|
|
25
|
+
- **Database** — schemas, migrations, ORM config
|
|
26
|
+
- **Build tools** — webpack, vite, gradle, maven, docker
|
|
27
|
+
- **Test framework** — jest, mocha, junit, pytest, etc.
|
|
28
|
+
|
|
29
|
+
### Step 3: Determine Role and Domain
|
|
30
|
+
|
|
31
|
+
Based on the codebase, determine:
|
|
32
|
+
- **Role**: Is this an application, library, service, or infrastructure repo?
|
|
33
|
+
- **Domain**: What business domain does it own? (e.g., payments, auth, booking, notifications)
|
|
34
|
+
|
|
35
|
+
### Step 4: Submit the Profile
|
|
36
|
+
|
|
37
|
+
Call `profile_repository` with:
|
|
38
|
+
- The git remote URL
|
|
39
|
+
- Role and domain
|
|
40
|
+
- API endpoints found
|
|
41
|
+
- Key dependencies
|
|
42
|
+
- Any events produced or consumed (message queues, webhooks, etc.)
|
|
43
|
+
|
|
44
|
+
Present a summary to the user before submitting and ask for confirmation.
|
|
45
|
+
|
|
46
|
+
## Rules
|
|
47
|
+
|
|
48
|
+
- Scan the ACTUAL codebase — don't guess
|
|
49
|
+
- Focus on the key dependencies and APIs, not every single package
|
|
50
|
+
- Be specific about versions where possible
|
|
51
|
+
- If you can't determine the domain, ask the user
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: USE WHEN the user wants to build a UX prototype for a Konductro engagement — loads design system, generates multi-page HTML, publishes to S3, and submits back to Konductro
|
|
3
|
+
globs:
|
|
4
|
+
alwaysApply: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Konductro Prototype Build
|
|
8
|
+
|
|
9
|
+
You are building a multi-page HTML prototype for a UX engagement on the Konductro platform. The prototype uses the project's design system and implements the screens defined in the approved feature matrix.
|
|
10
|
+
|
|
11
|
+
## Workflow
|
|
12
|
+
|
|
13
|
+
### Step 1: Load Your Assignments
|
|
14
|
+
|
|
15
|
+
Call `list_prototype_tasks` to see which prototype tasks are assigned to you. Present the list and ask which one to work on.
|
|
16
|
+
|
|
17
|
+
### Step 2: Load Context
|
|
18
|
+
|
|
19
|
+
Call `get_prototype_context` with the job ID. This loads:
|
|
20
|
+
- The UX engagement details
|
|
21
|
+
- The design system (tokens: colours, typography, spacing; components: buttons, cards, forms)
|
|
22
|
+
- Approved documents (hypotheses, personas, feature matrix)
|
|
23
|
+
- The preview HTML from Design Studio (locked visual direction)
|
|
24
|
+
- S3 configuration for publishing
|
|
25
|
+
|
|
26
|
+
### Step 3: Start Work
|
|
27
|
+
|
|
28
|
+
Call `start_prototype_work` with the job ID to mark the task as in progress.
|
|
29
|
+
|
|
30
|
+
### Step 4: Build the Prototype
|
|
31
|
+
|
|
32
|
+
Create a `./prototype/` directory. Build multi-page HTML files:
|
|
33
|
+
|
|
34
|
+
**Structure:**
|
|
35
|
+
- `index.html` — landing/home page (entry point)
|
|
36
|
+
- Additional pages as defined by the feature matrix
|
|
37
|
+
|
|
38
|
+
**Design rules:**
|
|
39
|
+
- Use **Tailwind CSS via CDN**
|
|
40
|
+
- Use **Google Fonts** if the design system specifies typography
|
|
41
|
+
- Apply design system tokens directly as Tailwind config overrides
|
|
42
|
+
- Build components exactly as defined in the design system
|
|
43
|
+
- Every page must include consistent navigation linking to all other pages
|
|
44
|
+
- Pages must be fully self-contained HTML files — no external JS frameworks
|
|
45
|
+
- Use realistic placeholder content, not lorem ipsum
|
|
46
|
+
- Responsive design — desktop and tablet widths minimum
|
|
47
|
+
|
|
48
|
+
**Quality bar:**
|
|
49
|
+
- Should look like a real application, not a wireframe
|
|
50
|
+
- Match the approved preview HTML aesthetic
|
|
51
|
+
- Interactive elements should have hover/focus states
|
|
52
|
+
|
|
53
|
+
### Step 5: Review with User
|
|
54
|
+
|
|
55
|
+
Let the user know the prototype is ready for review. Iterate based on feedback.
|
|
56
|
+
|
|
57
|
+
### Step 6: Publish to S3
|
|
58
|
+
|
|
59
|
+
When the user is happy:
|
|
60
|
+
1. Call `request_upload_credentials` with the job ID
|
|
61
|
+
2. Upload each HTML file using the credentials:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
export AWS_ACCESS_KEY_ID=<from credentials>
|
|
65
|
+
export AWS_SECRET_ACCESS_KEY=<from credentials>
|
|
66
|
+
export AWS_SESSION_TOKEN=<from credentials>
|
|
67
|
+
aws s3 cp ./prototype/ s3://<bucket>/<prefix>/ --recursive --content-type "text/html" --region <region>
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Step 7: Submit to Konductro
|
|
71
|
+
|
|
72
|
+
Call `submit_prototype` with the job ID and a `pages` array listing each uploaded file with its filename and title.
|
|
73
|
+
|
|
74
|
+
## Rules
|
|
75
|
+
|
|
76
|
+
- Always start by loading tasks from Konductro
|
|
77
|
+
- Use the design system tokens and components faithfully
|
|
78
|
+
- The preview HTML is the approved visual direction — match it
|
|
79
|
+
- Build ALL pages defined in the feature matrix
|
|
80
|
+
- Ask the user for feedback before publishing
|
|
81
|
+
- Credentials expire in 15 minutes — request fresh ones if upload takes longer
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: USE WHEN the user wants to pick up a Konductro ticket, create a branch, and start working on it
|
|
3
|
+
globs:
|
|
4
|
+
alwaysApply: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Start Ticket
|
|
8
|
+
|
|
9
|
+
You are helping a developer pick up and start work on a Konductro ticket.
|
|
10
|
+
|
|
11
|
+
## Workflow
|
|
12
|
+
|
|
13
|
+
### Step 1: List Assigned Tickets
|
|
14
|
+
|
|
15
|
+
Call `list_my_tickets` to show what's available. Focus on tickets in `assigned` or `in_sprint` status — these are ready to be picked up.
|
|
16
|
+
|
|
17
|
+
If the developer already knows which ticket they want, skip to Step 2.
|
|
18
|
+
|
|
19
|
+
### Step 2: Load Ticket Context
|
|
20
|
+
|
|
21
|
+
Call `get_ticket_context` with the chosen ticket ID. Present a summary:
|
|
22
|
+
- Title and description
|
|
23
|
+
- Acceptance criteria
|
|
24
|
+
- Target repository and default base branch
|
|
25
|
+
- Any dependencies or architectural notes
|
|
26
|
+
|
|
27
|
+
### Step 3: Confirm Branch Details
|
|
28
|
+
|
|
29
|
+
Ask the developer:
|
|
30
|
+
- **Branch from:** Show the repo's default base branch (from the context). Ask if they want to branch from somewhere else.
|
|
31
|
+
- **Branch name:** Show the default (`feature/{TICKET-KEY}`). Ask if they want to override it.
|
|
32
|
+
|
|
33
|
+
Most of the time the defaults are fine — don't over-prompt. A simple "I'll create `feature/MRB-15` from `dev` — good?" is enough.
|
|
34
|
+
|
|
35
|
+
### Step 4: Start Work
|
|
36
|
+
|
|
37
|
+
Call `start_work` with the ticket ID and branch details. This will:
|
|
38
|
+
1. Create the branch in ADO
|
|
39
|
+
2. Push the ticket spec file to `.tickets/{KEY}.md`
|
|
40
|
+
3. Set the ticket status to `in_progress`
|
|
41
|
+
|
|
42
|
+
### Step 5: Checkout Locally
|
|
43
|
+
|
|
44
|
+
After success, tell the developer to run:
|
|
45
|
+
```
|
|
46
|
+
git fetch && git checkout {branchName}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Then offer to help them get started — explore the codebase, review the acceptance criteria against existing code, etc.
|
|
50
|
+
|
|
51
|
+
## Rules
|
|
52
|
+
|
|
53
|
+
- Only show tickets that are assigned to the user and ready to start
|
|
54
|
+
- Always confirm the branch-from before calling start_work
|
|
55
|
+
- If start_work fails (e.g. branch already exists, ADO error), show the error clearly
|
|
56
|
+
- Don't skip the branch confirmation step — branching from the wrong base is hard to fix
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: USE WHEN the user wants to perform a technical analysis for a Konductro project phase — examining patterns, dependencies, risks, and recommending an approach
|
|
3
|
+
globs:
|
|
4
|
+
alwaysApply: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Konductro Technical Analysis
|
|
8
|
+
|
|
9
|
+
You are performing a technical analysis of a codebase for the Konductro delivery platform. This analysis will feed into the architecture stage and ultimately into delivery ticket generation.
|
|
10
|
+
|
|
11
|
+
## Workflow
|
|
12
|
+
|
|
13
|
+
### Step 1: Load Your Tasks
|
|
14
|
+
|
|
15
|
+
Call `list_tech_analysis_tasks` to see what's assigned to you. Present the list to the user and ask which task to work on.
|
|
16
|
+
|
|
17
|
+
### Step 2: Load Context
|
|
18
|
+
|
|
19
|
+
Call `get_task_context` with the phase ID. This loads:
|
|
20
|
+
- The approved requirements document (what needs to be built)
|
|
21
|
+
- Project and client context
|
|
22
|
+
- Repository information
|
|
23
|
+
|
|
24
|
+
Share a summary of the requirements with the user and confirm you're ready to begin.
|
|
25
|
+
|
|
26
|
+
### Step 3: Explore the Codebase
|
|
27
|
+
|
|
28
|
+
Analyse the local codebase using file reading and search tools:
|
|
29
|
+
- **Project structure** — folder layout, module organisation
|
|
30
|
+
- **Tech stack** — frameworks, versions, build tools
|
|
31
|
+
- **Architecture patterns** — how the app is structured
|
|
32
|
+
- **Existing APIs** — routes, controllers, endpoints
|
|
33
|
+
- **Data models** — database schemas, entities, types
|
|
34
|
+
- **Dependencies** — external libraries, their versions, what they're used for
|
|
35
|
+
- **Testing** — test framework, coverage, test patterns
|
|
36
|
+
- **Configuration** — environment handling, feature flags
|
|
37
|
+
- **Integration points** — external services, message queues, APIs consumed
|
|
38
|
+
|
|
39
|
+
Discuss findings with the user as you go. Ask clarifying questions.
|
|
40
|
+
|
|
41
|
+
### Step 4: Impact Analysis
|
|
42
|
+
|
|
43
|
+
Based on the requirements and your codebase exploration, assess:
|
|
44
|
+
- **What needs to change** — which files, modules, or services
|
|
45
|
+
- **What needs to be created** — new components, services, APIs
|
|
46
|
+
- **Risks and constraints** — technical debt, tight coupling, performance concerns
|
|
47
|
+
- **Dependencies between changes** — what order should things be built in
|
|
48
|
+
- **Recommended approach** — how to implement given the current codebase
|
|
49
|
+
|
|
50
|
+
### Step 5: Produce the Document
|
|
51
|
+
|
|
52
|
+
Produce a structured technical analysis document including:
|
|
53
|
+
1. **Codebase Overview** — what exists today
|
|
54
|
+
2. **Technical Stack** — frameworks, versions, build tools, deployment
|
|
55
|
+
3. **Architecture Patterns** — structure, key design decisions
|
|
56
|
+
4. **Existing APIs & Services** — current endpoints and integrations
|
|
57
|
+
5. **Data Model** — current schema, entities, relationships
|
|
58
|
+
6. **Impact Analysis** — what needs to change
|
|
59
|
+
7. **Risks & Constraints** — technical debt, performance, coupling
|
|
60
|
+
8. **Recommended Approach** — how to implement, including sequencing
|
|
61
|
+
9. **Dependencies** — external libraries, services, inter-module
|
|
62
|
+
10. **Testing Strategy** — how to test the changes
|
|
63
|
+
|
|
64
|
+
### Step 6: Submit
|
|
65
|
+
|
|
66
|
+
Ask the user to review the document. When approved, call `submit_tech_analysis` with the phase ID, the complete document, and a conversation summary.
|
|
67
|
+
|
|
68
|
+
## Rules
|
|
69
|
+
|
|
70
|
+
- Always start by loading tasks from Konductro
|
|
71
|
+
- Explore the ACTUAL codebase — don't assume or hallucinate file contents
|
|
72
|
+
- Be thorough but focused — analyse what's relevant to the requirements
|
|
73
|
+
- Ask the user questions — they know the codebase context you don't
|
|
74
|
+
- Produce a complete, standalone document an architect can use without additional context
|