@theia/ai-ide 1.77.0-next.49 → 1.77.0-next.56

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.
Files changed (115) hide show
  1. package/lib/browser/{project-info-agent.d.ts → agents-md-agent.d.ts} +2 -2
  2. package/lib/browser/agents-md-agent.d.ts.map +1 -0
  3. package/lib/browser/{project-info-agent.js → agents-md-agent.js} +16 -15
  4. package/lib/browser/agents-md-agent.js.map +1 -0
  5. package/lib/browser/ai-configuration/ai-configuration-label-provider-contribution.js +1 -1
  6. package/lib/browser/ai-configuration/ai-configuration-label-provider-contribution.js.map +1 -1
  7. package/lib/browser/ai-configuration/ai-configuration-resource.js +2 -1
  8. package/lib/browser/ai-configuration/ai-configuration-resource.js.map +1 -1
  9. package/lib/browser/ai-configuration/ai-configuration-search-widget.js +1 -1
  10. package/lib/browser/ai-configuration/ai-configuration-search-widget.js.map +1 -1
  11. package/lib/browser/ai-configuration/categories/agent-capabilities-settings.js +2 -1
  12. package/lib/browser/ai-configuration/categories/agent-capabilities-settings.js.map +1 -1
  13. package/lib/browser/ai-configuration/categories/agent-capabilities-settings.spec.js +4 -3
  14. package/lib/browser/ai-configuration/categories/agent-capabilities-settings.spec.js.map +1 -1
  15. package/lib/browser/ai-configuration/categories/agent-detail-view.js +2 -1
  16. package/lib/browser/ai-configuration/categories/agent-detail-view.js.map +1 -1
  17. package/lib/browser/ai-configuration/categories/provider-model-discovery-section.js +2 -1
  18. package/lib/browser/ai-configuration/categories/provider-model-discovery-section.js.map +1 -1
  19. package/lib/browser/ai-configuration/categories/provider-model-discovery-section.spec.js +2 -1
  20. package/lib/browser/ai-configuration/categories/provider-model-discovery-section.spec.js.map +1 -1
  21. package/lib/browser/ai-configuration/categories/tools-configuration-category.js +1 -1
  22. package/lib/browser/ai-configuration/categories/tools-configuration-category.js.map +1 -1
  23. package/lib/browser/ai-configuration/categories/variables-configuration-category.js +1 -1
  24. package/lib/browser/ai-configuration/categories/variables-configuration-category.js.map +1 -1
  25. package/lib/browser/ai-configuration/language-model-renderer.js +2 -1
  26. package/lib/browser/ai-configuration/language-model-renderer.js.map +1 -1
  27. package/lib/browser/ai-configuration/language-model-renderer.spec.js +2 -1
  28. package/lib/browser/ai-configuration/language-model-renderer.spec.js.map +1 -1
  29. package/lib/browser/ai-sessions-widget.js +1 -1
  30. package/lib/browser/ai-sessions-widget.js.map +1 -1
  31. package/lib/browser/app-tester-prompt-template.d.ts.map +1 -1
  32. package/lib/browser/app-tester-prompt-template.js +4 -6
  33. package/lib/browser/app-tester-prompt-template.js.map +1 -1
  34. package/lib/browser/architect-prompt-template.d.ts.map +1 -1
  35. package/lib/browser/architect-prompt-template.js +20 -3
  36. package/lib/browser/architect-prompt-template.js.map +1 -1
  37. package/lib/browser/chat-session-item.js +2 -1
  38. package/lib/browser/chat-session-item.js.map +1 -1
  39. package/lib/browser/chat-sessions-welcome-message-provider.js +1 -1
  40. package/lib/browser/chat-sessions-welcome-message-provider.js.map +1 -1
  41. package/lib/browser/code-reviewer-prompt-template.d.ts.map +1 -1
  42. package/lib/browser/code-reviewer-prompt-template.js +2 -1
  43. package/lib/browser/code-reviewer-prompt-template.js.map +1 -1
  44. package/lib/browser/commit-message-agent.spec.js +2 -1
  45. package/lib/browser/commit-message-agent.spec.js.map +1 -1
  46. package/lib/browser/commit-message-runner.spec.js +2 -1
  47. package/lib/browser/commit-message-runner.spec.js.map +1 -1
  48. package/lib/browser/explore-prompt-template.d.ts.map +1 -1
  49. package/lib/browser/explore-prompt-template.js +2 -1
  50. package/lib/browser/explore-prompt-template.js.map +1 -1
  51. package/lib/browser/frontend-module.js +4 -4
  52. package/lib/browser/frontend-module.js.map +1 -1
  53. package/lib/browser/git-changes-tool.js +1 -1
  54. package/lib/browser/git-changes-tool.js.map +1 -1
  55. package/lib/browser/git-changes-tool.spec.js +3 -2
  56. package/lib/browser/git-changes-tool.spec.js.map +1 -1
  57. package/lib/browser/remember-command-contribution.d.ts +2 -2
  58. package/lib/browser/remember-command-contribution.js +6 -6
  59. package/lib/browser/remember-command-contribution.js.map +1 -1
  60. package/lib/browser/review/pr-review-prompt-template.d.ts.map +1 -1
  61. package/lib/browser/review/pr-review-prompt-template.js +3 -2
  62. package/lib/browser/review/pr-review-prompt-template.js.map +1 -1
  63. package/lib/browser/user-interaction-tool-renderer.js +1 -1
  64. package/lib/browser/user-interaction-tool-renderer.js.map +1 -1
  65. package/lib/browser/user-interaction-tool.js +1 -1
  66. package/lib/browser/user-interaction-tool.js.map +1 -1
  67. package/lib/browser/user-interaction-tool.spec.js +2 -1
  68. package/lib/browser/user-interaction-tool.spec.js.map +1 -1
  69. package/lib/browser/workspace-functions.js +1 -1
  70. package/lib/browser/workspace-functions.js.map +1 -1
  71. package/lib/browser/workspace-launch-provider.js +1 -1
  72. package/lib/browser/workspace-launch-provider.js.map +1 -1
  73. package/lib/browser/workspace-launch-provider.spec.js +2 -1
  74. package/lib/browser/workspace-launch-provider.spec.js.map +1 -1
  75. package/lib/browser/workspace-search-provider.spec.js +2 -1
  76. package/lib/browser/workspace-search-provider.spec.js.map +1 -1
  77. package/lib/browser/workspace-task-provider.js +1 -1
  78. package/lib/browser/workspace-task-provider.js.map +1 -1
  79. package/lib/browser/workspace-task-provider.spec.js +2 -1
  80. package/lib/browser/workspace-task-provider.spec.js.map +1 -1
  81. package/lib/common/agents-md-prompt-template.d.ts +6 -0
  82. package/lib/common/agents-md-prompt-template.d.ts.map +1 -0
  83. package/lib/common/agents-md-prompt-template.js +165 -0
  84. package/lib/common/agents-md-prompt-template.js.map +1 -0
  85. package/lib/common/coder-replace-prompt-template.d.ts.map +1 -1
  86. package/lib/common/coder-replace-prompt-template.js +4 -6
  87. package/lib/common/coder-replace-prompt-template.js.map +1 -1
  88. package/lib/common/command-prompt-template.js +1 -1
  89. package/lib/common/command-prompt-template.js.map +1 -1
  90. package/lib/common/orchestrator-prompt-template.js +1 -1
  91. package/lib/common/orchestrator-prompt-template.js.map +1 -1
  92. package/lib/common/universal-prompt-template.js +1 -1
  93. package/lib/common/universal-prompt-template.js.map +1 -1
  94. package/lib/package.spec.js +1 -0
  95. package/lib/package.spec.js.map +1 -1
  96. package/package.json +27 -26
  97. package/src/browser/{project-info-agent.ts → agents-md-agent.ts} +11 -10
  98. package/src/browser/app-tester-prompt-template.ts +4 -7
  99. package/src/browser/architect-prompt-template.ts +4 -4
  100. package/src/browser/code-reviewer-prompt-template.ts +2 -2
  101. package/src/browser/explore-prompt-template.ts +2 -2
  102. package/src/browser/frontend-module.ts +4 -4
  103. package/src/browser/remember-command-contribution.ts +7 -7
  104. package/src/browser/review/pr-review-prompt-template.ts +3 -3
  105. package/src/common/{project-info-prompt-template.ts → agents-md-prompt-template.ts} +54 -46
  106. package/src/common/coder-replace-prompt-template.ts +5 -7
  107. package/src/common/command-prompt-template.ts +1 -1
  108. package/src/common/orchestrator-prompt-template.ts +1 -1
  109. package/src/common/universal-prompt-template.ts +1 -1
  110. package/lib/browser/project-info-agent.d.ts.map +0 -1
  111. package/lib/browser/project-info-agent.js.map +0 -1
  112. package/lib/common/project-info-prompt-template.d.ts +0 -6
  113. package/lib/common/project-info-prompt-template.d.ts.map +0 -1
  114. package/lib/common/project-info-prompt-template.js +0 -146
  115. package/lib/common/project-info-prompt-template.js.map +0 -1
@@ -14,7 +14,7 @@
14
14
  //
15
15
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
16
  // *****************************************************************************
17
- import { PromptVariantSet } from '@theia/ai-core/lib/common';
17
+ import { AGENTS_MD_PROMPT_FRAGMENT_ID, PromptVariantSet } from '@theia/ai-core/lib/common';
18
18
  import {
19
19
  GET_WORKSPACE_FILE_LIST_FUNCTION_ID, FILE_CONTENT_FUNCTION_ID, SEARCH_IN_WORKSPACE_FUNCTION_ID, FIND_FILES_BY_PATTERN_FUNCTION_ID
20
20
  } from '../common/workspace-functions';
@@ -193,7 +193,7 @@ When a diagram clarifies an architectural concept or how something is implemente
193
193
 
194
194
  {{${CONTEXT_FILES_VARIABLE_ID}}}
195
195
 
196
- {{prompt:project-info}}
196
+ {{prompt:${AGENTS_MD_PROMPT_FRAGMENT_ID}}}
197
197
 
198
198
  {{prompt:${OPEN_EDITORS_HINT_FRAGMENT_ID}}}
199
199
 
@@ -233,7 +233,7 @@ The following files have been provided for additional context. Some of them may
233
233
  Always look at the relevant files to understand your task using the function ~{${FILE_CONTENT_FUNCTION_ID}}
234
234
  {{${CONTEXT_FILES_VARIABLE_ID}}}
235
235
 
236
- {{prompt:project-info}}
236
+ {{prompt:${AGENTS_MD_PROMPT_FRAGMENT_ID}}}
237
237
 
238
238
  {{prompt:${OPEN_EDITORS_HINT_FRAGMENT_ID}}}
239
239
  `
@@ -467,7 +467,7 @@ When a diagram clarifies an architectural concept or how something is implemente
467
467
 
468
468
  {{${CONTEXT_FILES_VARIABLE_ID}}}
469
469
 
470
- {{prompt:project-info}}
470
+ {{prompt:${AGENTS_MD_PROMPT_FRAGMENT_ID}}}
471
471
 
472
472
  {{prompt:${OPEN_EDITORS_HINT_FRAGMENT_ID}}}
473
473
 
@@ -14,7 +14,7 @@
14
14
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
15
  // *****************************************************************************
16
16
 
17
- import { BasePromptFragment } from '@theia/ai-core/lib/common';
17
+ import { AGENTS_MD_PROMPT_FRAGMENT_ID, BasePromptFragment } from '@theia/ai-core/lib/common';
18
18
 
19
19
  export const CODE_REVIEWER_SYSTEM_PROMPT_ID = 'code-reviewer-system';
20
20
 
@@ -127,6 +127,6 @@ You receive:
127
127
 
128
128
  {{contextFiles}}
129
129
 
130
- {{prompt:project-info}}
130
+ {{prompt:${AGENTS_MD_PROMPT_FRAGMENT_ID}}}
131
131
  `
132
132
  };
@@ -14,7 +14,7 @@
14
14
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
15
  // *****************************************************************************
16
16
 
17
- import { BasePromptFragment } from '@theia/ai-core/lib/common';
17
+ import { AGENTS_MD_PROMPT_FRAGMENT_ID, BasePromptFragment } from '@theia/ai-core/lib/common';
18
18
 
19
19
  export const EXPLORE_SYSTEM_PROMPT_ID = 'explore-system';
20
20
 
@@ -116,6 +116,6 @@ For each file, include ONLY what is needed for the task:
116
116
 
117
117
  {{contextFiles}}
118
118
 
119
- {{prompt:project-info}}
119
+ {{prompt:${AGENTS_MD_PROMPT_FRAGMENT_ID}}}
120
120
  `
121
121
  };
@@ -121,7 +121,7 @@ import { AiConfigurationPreferences } from '../common/ai-configuration-preferenc
121
121
  import { WorkspaceRestrictionContribution } from '@theia/workspace/lib/browser/workspace-trust-service';
122
122
  import { AIWorkspaceRestrictionContribution } from './ai-workspace-restriction-contribution';
123
123
 
124
- import { ProjectInfoAgent } from './project-info-agent';
124
+ import { AgentsMdAgent } from './agents-md-agent';
125
125
  import { CreateSkillAgent } from './create-skill-agent';
126
126
  import { SuggestTerminalCommand } from './ai-terminal-functions';
127
127
  import { TodoWriteTool } from './todo-tool';
@@ -181,9 +181,9 @@ export default new ContainerModule((bind, _unbind, _isBound, rebind) => {
181
181
  bind(Agent).toService(CoderAgent);
182
182
  bind(ChatAgent).toService(CoderAgent);
183
183
 
184
- bind(ProjectInfoAgent).toSelf().inSingletonScope();
185
- bind(Agent).toService(ProjectInfoAgent);
186
- bind(ChatAgent).toService(ProjectInfoAgent);
184
+ bind(AgentsMdAgent).toSelf().inSingletonScope();
185
+ bind(Agent).toService(AgentsMdAgent);
186
+ bind(ChatAgent).toService(AgentsMdAgent);
187
187
 
188
188
  bind(CreateSkillAgent).toSelf().inSingletonScope();
189
189
  bind(Agent).toService(CreateSkillAgent);
@@ -18,7 +18,7 @@ import { FrontendApplicationContribution } from '@theia/core/lib/browser';
18
18
  import { inject, injectable } from '@theia/core/shared/inversify';
19
19
  import { PromptService } from '@theia/ai-core/lib/common';
20
20
  import { nls } from '@theia/core';
21
- import { AGENT_DELEGATION_FUNCTION_ID } from '@theia/ai-core';
21
+ import { AGENT_DELEGATION_FUNCTION_ID, AGENTS_MD_FILE_NAME } from '@theia/ai-core';
22
22
  import { ArchitectAgentId } from './architect-agent';
23
23
  import { CoderAgentId } from './coder-agent';
24
24
 
@@ -26,8 +26,8 @@ import { CoderAgentId } from './coder-agent';
26
26
  * Contribution that registers the `/remember` slash command for AI chat agents.
27
27
  *
28
28
  * This command allows Architect and Coder agents to extract important topics
29
- * from the current conversation and delegate to the ProjectInfo agent to update
30
- * the persistent project context file.
29
+ * from the current conversation and delegate to the AgentsMd agent to update
30
+ * the workspace's `AGENTS.md`.
31
31
  */
32
32
  @injectable()
33
33
  export class RememberCommandContribution implements FrontendApplicationContribution {
@@ -89,9 +89,9 @@ export class RememberCommandContribution implements FrontendApplicationContribut
89
89
  - What the user corrected or clarified
90
90
  - Why your initial understanding was incomplete
91
91
  - The specific project context that was provided
92
- 3. **Delegate to ProjectInfo agent**: Use the ~{${AGENT_DELEGATION_FUNCTION_ID}} tool to send the extracted information to the ProjectInfo agent:
93
- - Agent ID: 'ProjectInfo'
94
- - Prompt: Ask the ProjectInfo agent to review the extracted information and update the project information file
92
+ 3. **Delegate to the AgentsMd agent**: Use the ~{${AGENT_DELEGATION_FUNCTION_ID}} tool to send the extracted information to the AgentsMd agent:
93
+ - Agent ID: 'AgentsMd'
94
+ - Prompt: Ask the AgentsMd agent to review the extracted information and update the project context file
95
95
 
96
96
  ## Example Delegation
97
97
  \`\`\`
@@ -99,7 +99,7 @@ export class RememberCommandContribution implements FrontendApplicationContribut
99
99
 
100
100
  [Your extracted corrections and user-provided context here]
101
101
 
102
- Update /.prompts/project-info.prompttemplate by adding this information to the appropriate sections. Focus on information that prevents future misunderstandings.
102
+ Update ${AGENTS_MD_FILE_NAME} by adding this information to the appropriate sections. Focus on information that prevents future misunderstandings.
103
103
  \`\`\`
104
104
 
105
105
  Remember: Only extract information that prevents future AI agents from making the same mistakes or assumptions you made that were corrected by the user.`;
@@ -15,7 +15,7 @@
15
15
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
16
  // *****************************************************************************
17
17
 
18
- import { BasePromptFragment } from '@theia/ai-core/lib/common';
18
+ import { AGENTS_MD_FILE_NAME, AGENTS_MD_PROMPT_FRAGMENT_ID, BasePromptFragment } from '@theia/ai-core/lib/common';
19
19
  import { CONTEXT_FILES_VARIABLE_ID, TASK_CONTEXT_SUMMARY_VARIABLE_ID } from '../../common/context-variables';
20
20
  import {
21
21
  FILE_CONTENT_FUNCTION_ID,
@@ -246,7 +246,7 @@ Review with both goals in mind.
246
246
  **Second, surface issues (this drives the Findings):**
247
247
  - **Correctness:** Does the code do what it claims?
248
248
  - **Style consistency:** Does it follow existing patterns from the exploration findings (Phase 5)?
249
- - **Project guidelines:** Does it adhere to rules from \`{{prompt:project-info}}\` (e.g., coding conventions, preferred APIs, DI patterns)?
249
+ - **Project guidelines:** Does it adhere to the rules in the project's \`${AGENTS_MD_FILE_NAME}\`, if the Project Context section lists one (e.g., coding conventions, preferred APIs, DI patterns)?
250
250
  - **Potential bugs:** Race conditions, edge cases, error handling
251
251
  - **Missing tests:** Are behavior changes covered by tests?
252
252
  - **Security:** Any vulnerabilities introduced?
@@ -493,7 +493,7 @@ Where a Mermaid diagram is genuinely useful, use one, for example to explain arc
493
493
 
494
494
  {{${CONTEXT_FILES_VARIABLE_ID}}}
495
495
 
496
- {{prompt:project-info}}
496
+ {{prompt:${AGENTS_MD_PROMPT_FRAGMENT_ID}}}
497
497
 
498
498
  {{${TASK_CONTEXT_SUMMARY_VARIABLE_ID}}}
499
499
  `
@@ -1,4 +1,4 @@
1
- /* eslint-disable @typescript-eslint/tslint/config */
1
+ /* eslint-disable @theia/file-header */
2
2
  // *****************************************************************************
3
3
  // Copyright (C) 2025 EclipseSource GmbH and others.
4
4
  //
@@ -8,7 +8,7 @@
8
8
  //
9
9
  // SPDX-License-Identifier: MIT
10
10
  // *****************************************************************************
11
- import { PromptVariantSet } from '@theia/ai-core/lib/common';
11
+ import { AGENTS_MD_FILE_NAME, PromptVariantSet } from '@theia/ai-core/lib/common';
12
12
  import {
13
13
  GET_WORKSPACE_FILE_LIST_FUNCTION_ID, FILE_CONTENT_FUNCTION_ID, SEARCH_IN_WORKSPACE_FUNCTION_ID,
14
14
  FIND_FILES_BY_PATTERN_FUNCTION_ID
@@ -22,65 +22,69 @@ import {
22
22
  CLEAR_FILE_CHANGES_ID
23
23
  } from './file-changeset-function-ids';
24
24
 
25
- export const PROJECT_INFO_SYSTEM_PROMPT_TEMPLATE_ID = 'project-info-system';
26
- export const PROJECT_INFO_TEMPLATE_PROMPT_ID = 'project-info-template';
25
+ export const AGENTS_MD_SYSTEM_PROMPT_TEMPLATE_ID = 'agents-md-system';
26
+ export const AGENTS_MD_TEMPLATE_PROMPT_ID = 'agents-md-template';
27
27
 
28
- export const projectInfoTemplateVariants = <PromptVariantSet>{
29
- id: PROJECT_INFO_TEMPLATE_PROMPT_ID,
28
+ export const agentsMdTemplateVariants = <PromptVariantSet>{
29
+ id: AGENTS_MD_TEMPLATE_PROMPT_ID,
30
30
  defaultVariant: {
31
- id: 'project-info-template-default',
32
- template: `## Project Info Template Structure
31
+ id: 'agents-md-template-default',
32
+ template: `## ${AGENTS_MD_FILE_NAME} Structure
33
33
 
34
- ### Architecture Overview
35
- [Brief description of what the project does, Key architectural decisions, patterns, and structure.]
34
+ ${AGENTS_MD_FILE_NAME} is schema-free Markdown; these headings are a starting point, not a contract.
35
+ Drop any section the project has nothing non-obvious to say about.
36
36
 
37
- ### Key Technologies
38
- [List of main technologies, frameworks, libraries]
39
-
40
- ### Essential Development Patterns
41
- Examples for key patterns (refer via relative file paths)
37
+ ### Project Overview
38
+ [What the project does, and the key architectural decisions and patterns that shape it.]
42
39
 
43
- ### File Structure
44
- [Important directories/packages and their contents]
40
+ ### Key Technologies
41
+ [Main technologies, frameworks and libraries, with the versions that matter.]
45
42
 
46
43
  ### Build & Development
47
- [How to build and run the project.]
44
+ [How to build, run and debug the project. Exact commands.]
48
45
 
49
46
  ### Testing
50
- [What kind of tests exist, test organization and test patterns. Examples for different types of tests (as relative file paths)]
47
+ [Which kinds of tests exist, how they are organized and how to run a single one. Examples as relative file paths.]
51
48
 
52
- ### Coding Guidelines
53
- [Coding standards, conventions, practices. Examples for key practices (as relative file paths), rules for imports, indentation]
49
+ ### Code Style
50
+ [Coding standards, conventions and practices. Rules for imports and formatting. Examples as relative file paths.]
51
+
52
+ ### Project Structure
53
+ [Important directories and packages, and what belongs in each.]
54
+
55
+ ### Essential Patterns
56
+ [Project-specific patterns an agent has to follow, each pointing at an example via a relative file path.]
54
57
 
55
58
  ### Additional Notes
56
- [Any other important information for agents to understand the project and write code for it. Important files with more information (as relative file paths)]
57
- \`\`\`
59
+ [Anything else needed to understand the project and write code for it, including further documentation as relative file paths.]
58
60
  `
59
61
  }
60
62
  };
61
63
 
62
- export const projectInfoSystemVariants = <PromptVariantSet>{
63
- id: PROJECT_INFO_SYSTEM_PROMPT_TEMPLATE_ID,
64
+ export const agentsMdSystemVariants = <PromptVariantSet>{
65
+ id: AGENTS_MD_SYSTEM_PROMPT_TEMPLATE_ID,
64
66
  defaultVariant: {
65
- id: 'project-info-system-default',
67
+ id: 'agents-md-system-default',
66
68
  template: `{{!-- This prompt is licensed under the MIT License (https://opensource.org/license/mit).
67
69
  Made improvements or adaptations to this prompt template? We'd love for you to share it with the community! Contribute back here:
68
70
  https://github.com/eclipse-theia/theia/discussions/new?category=prompt-template-contribution --}}
69
71
  # Instructions
70
72
 
71
- You are the ProjectInfo agent, an AI assistant specialized in managing project information files. Your role is to help users create, update,
72
- and maintain the \`.prompts/project-info.prompttemplate\` file which provides contextual information about the project to other AI agents.
73
+ You are the ${AGENTS_MD_FILE_NAME} agent, an AI assistant specialized in project context for AI agents. Your role is to help users create, update
74
+ and maintain the \`${AGENTS_MD_FILE_NAME}\` file at the root of the workspace, which follows the open [${AGENTS_MD_FILE_NAME} standard](https://agents.md/)
75
+ and provides project context to other AI agents. Because it is a standard, the file you produce is also read by other agentic tools the user may
76
+ use on the same repository — write it for agents in general, not for one particular tool.
73
77
 
74
- ## Project Info Guidelines
75
- The project info is an artifact that will be handed over to agents to understand the current workspace, project and codebase.
78
+ ## ${AGENTS_MD_FILE_NAME} Guidelines
79
+ ${AGENTS_MD_FILE_NAME} is handed to agents so they understand the current workspace, project and codebase.
76
80
  Do not include obvious instructions, generic information, generic development practices or things that can be very easily discovered.
77
81
  Focus on non-obvious and project-specific facts as well as specific guidelines and patterns.
78
- Try to keep the project info minimal and avoid duplicates.
82
+ Keep it minimal and avoid duplicates: every line costs context in every session that reads it.
79
83
 
80
84
  ## Your Capabilities
81
85
 
82
- ### Initially Create Project Info
83
- For initial project info creation, start by determining the user's preferred working mode:
86
+ ### Initially Create ${AGENTS_MD_FILE_NAME}
87
+ For initial creation, start by determining the user's preferred working mode:
84
88
 
85
89
  **Step 1: Define mode of working**
86
90
  Ask the user about the preferred working mode:
@@ -90,32 +94,32 @@ Ask the user about the preferred working mode:
90
94
 
91
95
  IMPORTANT: Remember the chosen mode and stick to it until the user requests otherwise!
92
96
 
93
- - In automatic mode, create an initial version of the project info yourself by exploring the workspace
97
+ - In automatic mode, create an initial version yourself by exploring the workspace
94
98
  - In manual mode, guide the user section by section and ask for additional information.
95
99
  Whenever you ask a question to the user, offer the option that you answer the question for them.
96
100
 
97
101
  **Step 2: Final tasks**
98
102
  After completing all sections or if you feel the user is done, offer the user to do an automatic refinement:
99
- "Would you like me to review and finalize the project information?",
100
- - In this final refinement, particularly focus on relevance and potential duplications and the "Project Info Guidelines"
103
+ "Would you like me to review and finalize the ${AGENTS_MD_FILE_NAME}?",
104
+ - In this final refinement, particularly focus on relevance and potential duplications and the "${AGENTS_MD_FILE_NAME} Guidelines"
101
105
  - Then, ask for final user review. Tell the user to provide any generic feedback and offer to incorporate it for them.
102
106
  - Finally remind them to accept the final version in the change set
103
107
 
104
- ### Complete Project Info
105
- - If a project info is incomplete, offer the user to complete it
108
+ ### Complete ${AGENTS_MD_FILE_NAME}
109
+ - If the file is incomplete, offer the user to complete it
106
110
 
107
- ### Update Project Info
108
- - Modify existing project info based on user requirements
111
+ ### Update ${AGENTS_MD_FILE_NAME}
112
+ - Modify the existing file based on user requirements
109
113
  - Do not use a specific workflow for this
110
114
 
111
115
  ## Workspace Analysis Guidelines
112
116
 
113
117
  **Auto-Discovery File Patterns**
114
118
  When auto-discovering project information or exploring the workspace structure, ALWAYS prioritize examining these file patterns that commonly contain agent instructions
115
- and project documentation:
119
+ and project documentation. Where a project already maintains one of them, treat it as a source to consolidate into \`${AGENTS_MD_FILE_NAME}\`,
120
+ and tell the user which files you drew from so they can decide whether to keep them:
116
121
  - .github/copilot-instructions.md
117
122
  - AGENT.md
118
- - AGENTS.md
119
123
  - CLAUDE.md
120
124
  - .cursorrules
121
125
  - .windsurfrules
@@ -140,13 +144,17 @@ Navigate step-by-step and confirm paths. Use **~{${UPDATE_CONTEXT_FILES_FUNCTION
140
144
 
141
145
  ## File Modification - SUGGEST ONLY
142
146
  Use these functions liberally to suggest file changes. All changes require user review and approval, so the user can reject them if needed.
147
+ Always target \`${AGENTS_MD_FILE_NAME}\` at the root of the workspace root the user is working in.
143
148
 
144
- - **~{${SUGGEST_FILE_CONTENT_ID}}**: Propose complete file content (for creating new templates or complete rewrites)
149
+ - **~{${SUGGEST_FILE_CONTENT_ID}}**: Propose complete file content (for creating a new file or complete rewrites)
145
150
  - **~{${SUGGEST_FILE_REPLACEMENTS_ID}}**: Propose targeted replacements of specific text sections
146
151
  - **~{${GET_PROPOSED_CHANGES_ID}}**: View current proposed changes before making additional ones
147
152
  - **~{${CLEAR_FILE_CHANGES_ID}}**: Clear all pending changes for a file to start fresh
148
153
 
149
- {{prompt:${PROJECT_INFO_TEMPLATE_PROMPT_ID}}}
154
+ ${AGENTS_MD_FILE_NAME} is plain Markdown read as-is by every tool that supports the standard. Never write prompt template syntax
155
+ (\`{{...}}\` or \`~{...}\`) into it — those references are not resolved and end up as literal text.
156
+
157
+ {{prompt:${AGENTS_MD_TEMPLATE_PROMPT_ID}}}
150
158
 
151
159
  ## Additional Context
152
160
 
@@ -154,11 +162,11 @@ Use these functions liberally to suggest file changes. All changes require user
154
162
 
155
163
  ## Workflow Guidelines
156
164
 
157
- When creating project info for the first time:
165
+ When creating ${AGENTS_MD_FILE_NAME} for the first time:
158
166
  1. **Always start by asking about the user's preferred mode** (auto-exploration or manual) and stick to it
159
167
  2. **After initial suggestions or provided content**: Always ask for refinement and additional information
160
168
 
161
- Remember: Proactively help users maintain accurate project information for better AI assistance.
169
+ Remember: Proactively help users maintain accurate project context for better AI assistance.
162
170
  `
163
171
  }
164
172
  };
@@ -1,4 +1,4 @@
1
- /* eslint-disable @typescript-eslint/tslint/config */
1
+ /* eslint-disable @theia/file-header */
2
2
  // *****************************************************************************
3
3
  // Copyright (C) 2025 EclipseSource GmbH and others.
4
4
  //
@@ -9,7 +9,7 @@
9
9
  // SPDX-License-Identifier: MIT
10
10
  // *****************************************************************************
11
11
 
12
- import { AGENT_DELEGATION_FUNCTION_ID, BasePromptFragment } from '@theia/ai-core/lib/common';
12
+ import { AGENT_DELEGATION_FUNCTION_ID, AGENTS_MD_PROMPT_FRAGMENT_ID, BasePromptFragment } from '@theia/ai-core/lib/common';
13
13
  import { CHANGE_SET_SUMMARY_VARIABLE_ID } from '@theia/ai-chat';
14
14
  import {
15
15
  GET_WORKSPACE_FILE_LIST_FUNCTION_ID,
@@ -256,8 +256,7 @@ Always retrieve relevant files using ~{${FILE_CONTENT_FUNCTION_ID}} to understan
256
256
  ## Previously Changed Files
257
257
  {{changeSetSummary}}
258
258
 
259
- ## Project Info
260
- {{prompt:project-info}}
259
+ {{prompt:${AGENTS_MD_PROMPT_FRAGMENT_ID}}}
261
260
 
262
261
  {{prompt:${OPEN_EDITORS_HINT_FRAGMENT_ID}}}
263
262
 
@@ -540,8 +539,7 @@ Always retrieve relevant files using ~{${FILE_CONTENT_FUNCTION_ID}} to understan
540
539
  ## Previously Changed Files
541
540
  {{${CHANGE_SET_SUMMARY_VARIABLE_ID}}}
542
541
 
543
- ## Project Info
544
- {{prompt:project-info}}
542
+ {{prompt:${AGENTS_MD_PROMPT_FRAGMENT_ID}}}
545
543
 
546
544
  {{prompt:${OPEN_EDITORS_HINT_FRAGMENT_ID}}}
547
545
 
@@ -643,7 +641,7 @@ Always look at the relevant files to understand your task using the function ~{$
643
641
  You have previously proposed changes for the following files. Some suggestions may have been accepted by the user, while others may still be pending.
644
642
  {{${CHANGE_SET_SUMMARY_VARIABLE_ID}}}
645
643
 
646
- {{prompt:project-info}}
644
+ {{prompt:${AGENTS_MD_PROMPT_FRAGMENT_ID}}}
647
645
 
648
646
  {{prompt:${OPEN_EDITORS_HINT_FRAGMENT_ID}}}
649
647
 
@@ -1,4 +1,4 @@
1
- /* eslint-disable @typescript-eslint/tslint/config */
1
+ /* eslint-disable @theia/file-header */
2
2
  // *****************************************************************************
3
3
  // Copyright (C) 2025 EclipseSource GmbH and others.
4
4
  //
@@ -1,4 +1,4 @@
1
- /* eslint-disable @typescript-eslint/tslint/config */
1
+ /* eslint-disable @theia/file-header */
2
2
  // *****************************************************************************
3
3
  // Copyright (C) 2025 EclipseSource GmbH and others.
4
4
  //
@@ -1,4 +1,4 @@
1
- /* eslint-disable @typescript-eslint/tslint/config */
1
+ /* eslint-disable @theia/file-header */
2
2
  // *****************************************************************************
3
3
  // Copyright (C) 2025 EclipseSource GmbH and others.
4
4
  //
@@ -1 +0,0 @@
1
- {"version":3,"file":"project-info-agent.d.ts","sourceRoot":"","sources":["../../src/browser/project-info-agent.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAG1D,OAAO,EAAE,OAAO,EAAO,MAAM,aAAa,CAAC;AAE3C,qBACa,gBAAiB,SAAQ,8BAA8B;IAEhE,mBAC4B,MAAM,EAAE,OAAO,CAAC;IAE5C,IAAI,SAAiB;IACrB,EAAE,SAAiB;IACnB,yBAAyB,EAAE,wBAAwB,EAAE,CAGlD;IACH,SAAS,CAAC,2BAA2B,EAAE,MAAM,CAAU;IAE9C,WAAW,SAEwJ;IAEnK,OAAO,8CAA4D;IAC5E,UAAmB,cAAc,EAAE,MAAM,GAAG,SAAS,CAAgC;IAC5E,SAAS,EAAE,MAAM,CAA0B;CACvD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"project-info-agent.js","sourceRoot":"","sources":["../../src/browser/project-info-agent.ts"],"names":[],"mappings":";;;;AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,4CAAgE;AAEhE,4DAAyE;AACzE,yFAAgH;AAChH,sCAA2C;AAGpC,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,wCAA8B;IAA7D;;QAKH,SAAI,GAAG,aAAa,CAAC;QACrB,OAAE,GAAG,aAAa,CAAC;QACnB,8BAAyB,GAA+B,CAAC;gBACrD,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,cAAc;aAC7B,CAAC,CAAC;QACO,gCAA2B,GAAW,MAAM,CAAC;QAE9C,gBAAW,GAAG,UAAG,CAAC,QAAQ,CAAC,iDAAiD,EACjF,uKAAuK;YACvK,sKAAsK,CAAC,CAAC;QAEnK,YAAO,GAAG,CAAC,wDAAyB,EAAE,0DAA2B,CAAC,CAAC;QACzD,mBAAc,GAAuB,wDAAyB,CAAC,EAAE,CAAC;QAC5E,cAAS,GAAW,sBAAsB,CAAC;IACxD,CAAC;CAAA,CAAA;AApBY,4CAAgB;AAGG;IAD3B,IAAA,kBAAM,EAAC,cAAO,CAAC;IAAE,IAAA,iBAAK,EAAC,yBAAyB,CAAC;;gDACN;2BAHnC,gBAAgB;IAD5B,IAAA,sBAAU,GAAE;GACA,gBAAgB,CAoB5B"}
@@ -1,6 +0,0 @@
1
- import { PromptVariantSet } from '@theia/ai-core/lib/common';
2
- export declare const PROJECT_INFO_SYSTEM_PROMPT_TEMPLATE_ID = "project-info-system";
3
- export declare const PROJECT_INFO_TEMPLATE_PROMPT_ID = "project-info-template";
4
- export declare const projectInfoTemplateVariants: PromptVariantSet;
5
- export declare const projectInfoSystemVariants: PromptVariantSet;
6
- //# sourceMappingURL=project-info-prompt-template.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project-info-prompt-template.d.ts","sourceRoot":"","sources":["../../src/common/project-info-prompt-template.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAc7D,eAAO,MAAM,sCAAsC,wBAAwB,CAAC;AAC5E,eAAO,MAAM,+BAA+B,0BAA0B,CAAC;AAEvE,eAAO,MAAM,2BAA2B,EAAI,gBAgC3C,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAI,gBAsGzC,CAAC"}
@@ -1,146 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.projectInfoSystemVariants = exports.projectInfoTemplateVariants = exports.PROJECT_INFO_TEMPLATE_PROMPT_ID = exports.PROJECT_INFO_SYSTEM_PROMPT_TEMPLATE_ID = void 0;
4
- const workspace_functions_1 = require("./workspace-functions");
5
- const context_variables_1 = require("./context-variables");
6
- const context_functions_1 = require("./context-functions");
7
- const file_changeset_function_ids_1 = require("./file-changeset-function-ids");
8
- exports.PROJECT_INFO_SYSTEM_PROMPT_TEMPLATE_ID = 'project-info-system';
9
- exports.PROJECT_INFO_TEMPLATE_PROMPT_ID = 'project-info-template';
10
- exports.projectInfoTemplateVariants = {
11
- id: exports.PROJECT_INFO_TEMPLATE_PROMPT_ID,
12
- defaultVariant: {
13
- id: 'project-info-template-default',
14
- template: `## Project Info Template Structure
15
-
16
- ### Architecture Overview
17
- [Brief description of what the project does, Key architectural decisions, patterns, and structure.]
18
-
19
- ### Key Technologies
20
- [List of main technologies, frameworks, libraries]
21
-
22
- ### Essential Development Patterns
23
- Examples for key patterns (refer via relative file paths)
24
-
25
- ### File Structure
26
- [Important directories/packages and their contents]
27
-
28
- ### Build & Development
29
- [How to build and run the project.]
30
-
31
- ### Testing
32
- [What kind of tests exist, test organization and test patterns. Examples for different types of tests (as relative file paths)]
33
-
34
- ### Coding Guidelines
35
- [Coding standards, conventions, practices. Examples for key practices (as relative file paths), rules for imports, indentation]
36
-
37
- ### Additional Notes
38
- [Any other important information for agents to understand the project and write code for it. Important files with more information (as relative file paths)]
39
- \`\`\`
40
- `
41
- }
42
- };
43
- exports.projectInfoSystemVariants = {
44
- id: exports.PROJECT_INFO_SYSTEM_PROMPT_TEMPLATE_ID,
45
- defaultVariant: {
46
- id: 'project-info-system-default',
47
- template: `{{!-- This prompt is licensed under the MIT License (https://opensource.org/license/mit).
48
- Made improvements or adaptations to this prompt template? We'd love for you to share it with the community! Contribute back here:
49
- https://github.com/eclipse-theia/theia/discussions/new?category=prompt-template-contribution --}}
50
- # Instructions
51
-
52
- You are the ProjectInfo agent, an AI assistant specialized in managing project information files. Your role is to help users create, update,
53
- and maintain the \`.prompts/project-info.prompttemplate\` file which provides contextual information about the project to other AI agents.
54
-
55
- ## Project Info Guidelines
56
- The project info is an artifact that will be handed over to agents to understand the current workspace, project and codebase.
57
- Do not include obvious instructions, generic information, generic development practices or things that can be very easily discovered.
58
- Focus on non-obvious and project-specific facts as well as specific guidelines and patterns.
59
- Try to keep the project info minimal and avoid duplicates.
60
-
61
- ## Your Capabilities
62
-
63
- ### Initially Create Project Info
64
- For initial project info creation, start by determining the user's preferred working mode:
65
-
66
- **Step 1: Define mode of working**
67
- Ask the user about the preferred working mode:
68
-
69
- 1. "Auto-exploration - Agent explores and creates an initial suggestion",
70
- 2. "Manual - User provides all necessary input with your guidance"
71
-
72
- IMPORTANT: Remember the chosen mode and stick to it until the user requests otherwise!
73
-
74
- - In automatic mode, create an initial version of the project info yourself by exploring the workspace
75
- - In manual mode, guide the user section by section and ask for additional information.
76
- Whenever you ask a question to the user, offer the option that you answer the question for them.
77
-
78
- **Step 2: Final tasks**
79
- After completing all sections or if you feel the user is done, offer the user to do an automatic refinement:
80
- "Would you like me to review and finalize the project information?",
81
- - In this final refinement, particularly focus on relevance and potential duplications and the "Project Info Guidelines"
82
- - Then, ask for final user review. Tell the user to provide any generic feedback and offer to incorporate it for them.
83
- - Finally remind them to accept the final version in the change set
84
-
85
- ### Complete Project Info
86
- - If a project info is incomplete, offer the user to complete it
87
-
88
- ### Update Project Info
89
- - Modify existing project info based on user requirements
90
- - Do not use a specific workflow for this
91
-
92
- ## Workspace Analysis Guidelines
93
-
94
- **Auto-Discovery File Patterns**
95
- When auto-discovering project information or exploring the workspace structure, ALWAYS prioritize examining these file patterns that commonly contain agent instructions
96
- and project documentation:
97
- - .github/copilot-instructions.md
98
- - AGENT.md
99
- - AGENTS.md
100
- - CLAUDE.md
101
- - .cursorrules
102
- - .windsurfrules
103
- - .clinerules
104
- - .cursor
105
- - rules/**
106
- - .windsurf/rules/**
107
- - .clinerules/**
108
- - README.md
109
- - .md files in the root level if they contain documentation
110
-
111
- Use the **~{${workspace_functions_1.FIND_FILES_BY_PATTERN_FUNCTION_ID}}** function with these patterns to discover relevant configuration and documentation files.
112
-
113
- ## Context Retrieval
114
- Use the following functions to interact with the workspace files when needed:
115
- - **~{${workspace_functions_1.GET_WORKSPACE_FILE_LIST_FUNCTION_ID}}**: List files and directories
116
- - **~{${workspace_functions_1.FILE_CONTENT_FUNCTION_ID}}**: Get content of specific files
117
- - **~{${workspace_functions_1.FIND_FILES_BY_PATTERN_FUNCTION_ID}}**: Find files by glob patterns like '**/*.json'
118
- - **~{${workspace_functions_1.SEARCH_IN_WORKSPACE_FUNCTION_ID}}**: Search file contents
119
-
120
- Navigate step-by-step and confirm paths. Use **~{${context_functions_1.UPDATE_CONTEXT_FILES_FUNCTION_ID}}** to remember important files for later reference.
121
-
122
- ## File Modification - SUGGEST ONLY
123
- Use these functions liberally to suggest file changes. All changes require user review and approval, so the user can reject them if needed.
124
-
125
- - **~{${file_changeset_function_ids_1.SUGGEST_FILE_CONTENT_ID}}**: Propose complete file content (for creating new templates or complete rewrites)
126
- - **~{${file_changeset_function_ids_1.SUGGEST_FILE_REPLACEMENTS_ID}}**: Propose targeted replacements of specific text sections
127
- - **~{${file_changeset_function_ids_1.GET_PROPOSED_CHANGES_ID}}**: View current proposed changes before making additional ones
128
- - **~{${file_changeset_function_ids_1.CLEAR_FILE_CHANGES_ID}}**: Clear all pending changes for a file to start fresh
129
-
130
- {{prompt:${exports.PROJECT_INFO_TEMPLATE_PROMPT_ID}}}
131
-
132
- ## Additional Context
133
-
134
- {{${context_variables_1.CONTEXT_FILES_VARIABLE_ID}}}
135
-
136
- ## Workflow Guidelines
137
-
138
- When creating project info for the first time:
139
- 1. **Always start by asking about the user's preferred mode** (auto-exploration or manual) and stick to it
140
- 2. **After initial suggestions or provided content**: Always ask for refinement and additional information
141
-
142
- Remember: Proactively help users maintain accurate project information for better AI assistance.
143
- `
144
- }
145
- };
146
- //# sourceMappingURL=project-info-prompt-template.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project-info-prompt-template.js","sourceRoot":"","sources":["../../src/common/project-info-prompt-template.ts"],"names":[],"mappings":";;;AAWA,+DAG+B;AAC/B,2DAAgE;AAChE,2DAAuE;AACvE,+EAKuC;AAE1B,QAAA,sCAAsC,GAAG,qBAAqB,CAAC;AAC/D,QAAA,+BAA+B,GAAG,uBAAuB,CAAC;AAE1D,QAAA,2BAA2B,GAAqB;IACzD,EAAE,EAAE,uCAA+B;IACnC,cAAc,EAAE;QACZ,EAAE,EAAE,+BAA+B;QACnC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BjB;KACI;CACJ,CAAC;AAEW,QAAA,yBAAyB,GAAqB;IACvD,EAAE,EAAE,8CAAsC;IAC1C,cAAc,EAAE;QACZ,EAAE,EAAE,6BAA6B;QACjC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAgEJ,uDAAiC;;;;QAIvC,yDAAmC;QACnC,8CAAwB;QACxB,uDAAiC;QACjC,qDAA+B;;mDAEY,oDAAgC;;;;;QAK3E,qDAAuB;QACvB,0DAA4B;QAC5B,qDAAuB;QACvB,mDAAqB;;WAElB,uCAA+B;;;;IAItC,6CAAyB;;;;;;;;;CAS5B;KACI;CACJ,CAAC"}