You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Use the detected language in all subsequent steps wherever `language` is required.
37
+
38
+
#### 1b. Check for Existing Guidelines and Skills
39
+
40
+
Check whether guidelines and skills have already been added for this project by looking for their presence in the workspace. Check for existing skill and guideline files, e.g., `{language}-conventions`, `{language}-security-guidelines.md`, `{language}-test-guidelines.md`, `update-activity-workflow.md`, or prior output from `add_guidelines` and `add_skills`.
41
+
42
+
-**If they do not exist for the project's language:** Call **add_guidelines** and **add_skills** to create them. This sets up the necessary skills and guidelines for the MCP server to work correctly.
43
+
-**If they already exist for the project's language:** Skip this step entirely and proceed to step 2.
44
+
45
+
### 2. Discover Available APIs
21
46
22
47
Call **fetch_api** to find available APIs — always start here.
23
48
24
-
- Provide the `language` parameter matching the project's primary language (e.g. `csharp`, `python`, `typescript`, `go`, `java`, `ruby`, `php`).
25
-
- Infer the language from the codebase (e.g. `.csproj` → `csharp`, `package.json` with TypeScript → `typescript`).
49
+
- Provide the `language` parameter using the language detected in step 1a.
26
50
- The response returns available APIs with their names, descriptions, and `key` values.
27
51
- Identify the API that matches the user's request based on the name and description.
28
52
- Extract the correct `key` for the user's requested API before proceeding. This key will be used for all subsequent tool calls related to that API.
29
53
30
54
**If the requested API is not in the list:**
31
-
- Inform the user that the API is not currently available in this plugin.
32
-
-Continue integrating the required API without the plugin.
55
+
- Inform the user that the API is not currently available in this plugin (context-matic) and stop.
56
+
-Request guidance from user on how to proceed with the API's integration.
33
57
34
-
### 2. Get Integration Guidance
58
+
### 3. Get Integration Guidance
35
59
36
-
Call **update_activity**(`phase='planning'`, `language`, `key`) immediately before calling **ask**.
60
+
Call **update_activity** immediately before calling **ask**.
37
61
38
-
- Provide `ask` with: `language`, `key` (from step 1), and your `query`.
62
+
- Provide `ask` with: `language`, `key` (from step 2), and your `query`.
39
63
- Break complex questions into smaller focused queries for best results:
40
64
-_"How do I authenticate?"_
41
65
-_"How do I create a payment?"_
42
66
-_"What are the rate limits?"_
43
-
- Call **update_activity**with `phase='execution'` before generating or fixing code.
67
+
- Call **update_activity**immediately before generating or fixing code.
44
68
45
-
### 3. Look Up SDK Models and Endpoints (as needed)
69
+
### 4. Look Up SDK Models and Endpoints (as needed)
46
70
47
71
These tools return definitions only — they do not call APIs or generate code.
48
72
49
-
Call **update_activity**(`phase='planning'`, `language`, `key`) immediately before each call.
73
+
Call **update_activity** immediately before each call.
50
74
51
75
-**model_search** — look up a model/object definition.
52
76
- Provide: `language`, `key`, and an exact or partial case-sensitive model name as `query` (e.g. `availableBalance`, `TransactionId`).
53
-
54
77
-**endpoint_search** — look up an endpoint method's details.
55
78
- Provide: `language`, `key`, and an exact or partial case-sensitive method name as `query` (e.g. `createUser`, `get_account_balance`).
56
79
57
-
### 4. Record Milestones
80
+
### 5. Record Milestones
58
81
59
82
Call **update_activity** (with the appropriate `milestone`) whenever one of these is observed or confirmed:
60
83
61
84
| Milestone | When to pass it |
62
85
|---|---|
63
86
|`sdk_setup`| SDK packages installed and environment confirmed set up |
64
87
|`auth_configured`| API keys or auth configured, ready to make first call |
65
-
|`first_call_attempted`| First API call code written and executed |
66
-
|`first_call_succeeded`| Successful response from first API call received |
88
+
|`first_call_made`| First API call code written and executed |
67
89
|`error_encountered`| Developer reports a bug, error response, or failing call |
68
90
|`error_resolved`| Fix applied and API call confirmed working |
69
-
|`tests_passing`| Integration tests written and confirmed passing |
70
91
71
92
## Checklist
72
93
94
+
-[ ] Project's primary language detected (step 1a)
95
+
-[ ]`add_guidelines` and `add_skills` called (or confirmed already present — then skipped)
73
96
-[ ]`fetch_api` called with correct `language` for the project
74
97
-[ ] Correct `key` identified for the requested API (or user informed if not found)
75
-
-[ ]`update_activity` called as first tool when integration begins
98
+
-[ ]`update_activity`first called after `fetch_api`when integration work begins
76
99
-[ ]`update_activity` called immediately before every `ask`, `model_search`, and `endpoint_search`
77
100
-[ ]`update_activity` called with the appropriate `milestone` at each integration milestone
78
101
-[ ]`ask` used for integration guidance and code samples
@@ -81,5 +104,5 @@ Call **update_activity** (with the appropriate `milestone`) whenever one of thes
81
104
82
105
## Notes
83
106
84
-
-**API not found**: If an API is missing from `fetch_api`, do not guess at SDK usage — inform the user and stop.
107
+
-**API not found**: If an API is missing from `fetch_api`, do not guess at SDK usage — inform the user that the API is not currently available in this plugin and stop.
85
108
-**update_activity and fetch_api**: `fetch_api` is API discovery, not integration — do not call `update_activity` before it.
0 commit comments