@bluehawks/cli 1.0.1 → 1.0.3

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.
@@ -0,0 +1,20 @@
1
+ {
2
+ "id": "session_1770634545815_jvwh0o",
3
+ "startTime": "2026-02-09T10:55:45.815Z",
4
+ "messages": [
5
+ {
6
+ "role": "user",
7
+ "content": "hi"
8
+ },
9
+ {
10
+ "role": "assistant",
11
+ "content": "Hello! How can I assist you today?"
12
+ }
13
+ ],
14
+ "metadata": {
15
+ "projectPath": "/home/chandanv/Projects/bluehawks-cli",
16
+ "model": "Qwen/Qwen3-0.6B",
17
+ "tokensUsed": 0,
18
+ "toolsUsed": []
19
+ }
20
+ }
@@ -4,7 +4,7 @@
4
4
  export declare const API_BASE_URL = "https://api.bluehawks.ai/v1";
5
5
  export declare const DEFAULT_MODEL = "Qwen/Qwen3-0.6B";
6
6
  export declare const CLI_NAME = "bluehawks";
7
- export declare const CLI_VERSION = "1.0.0";
7
+ export declare const CLI_VERSION = "1.0.3";
8
8
  export declare const CLI_DESCRIPTION = "A production-ready multi-agent AI CLI assistant";
9
9
  export declare const CONFIG_DIR_NAME = ".bluehawks";
10
10
  export declare const SETTINGS_FILE = "settings.json";
@@ -6,7 +6,7 @@ export const API_BASE_URL = 'https://api.bluehawks.ai/v1';
6
6
  export const DEFAULT_MODEL = 'Qwen/Qwen3-0.6B';
7
7
  // CLI Metadata
8
8
  export const CLI_NAME = 'bluehawks';
9
- export const CLI_VERSION = '1.0.0';
9
+ export const CLI_VERSION = '1.0.3';
10
10
  export const CLI_DESCRIPTION = 'A production-ready multi-agent AI CLI assistant';
11
11
  // Configuration Paths
12
12
  export const CONFIG_DIR_NAME = '.bluehawks';
@@ -29,11 +29,13 @@ export declare class Orchestrator {
29
29
  private customSystemPrompt?;
30
30
  private appendSystemPrompt?;
31
31
  private contextContent;
32
+ private rootStructure;
32
33
  private subAgents;
33
34
  constructor(options: OrchestratorOptions);
34
35
  private registerDefaultSubAgents;
35
36
  initialize(): Promise<void>;
36
37
  private loadContextFile;
38
+ private loadRootStructure;
37
39
  private buildSystemPrompt;
38
40
  chat(userMessage: string, _history?: Array<{
39
41
  role: string;
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../src/core/agents/orchestrator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAS,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAKvD,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAwBD,qBAAa,YAAY;IACrB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,kBAAkB,CAAC,CAAS;IACpC,OAAO,CAAC,kBAAkB,CAAC,CAAS;IACpC,OAAO,CAAC,cAAc,CAAc;IACpC,OAAO,CAAC,SAAS,CAA0C;gBAE/C,OAAO,EAAE,mBAAmB;IAcxC,OAAO,CAAC,wBAAwB;IAmC1B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAKnB,eAAe;IAS7B,OAAO,CAAC,iBAAiB;IA0BnB,IAAI,CACN,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAM,EACvD,SAAS,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QACpC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QACrC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;KACtD,GACF,OAAO,CAAC,aAAa,CAAC;IAoBnB,WAAW,CACb,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QACpC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QACrC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;KACtD,GACF,OAAO,CAAC,aAAa,CAAC;IAoBzB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAInC,UAAU,IAAI,OAAO;IAIrB,YAAY,IAAI,cAAc,EAAE;IAIhC,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;CAGjD"}
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../src/core/agents/orchestrator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAS,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAKvD,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAwBD,qBAAa,YAAY;IACrB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,kBAAkB,CAAC,CAAS;IACpC,OAAO,CAAC,kBAAkB,CAAC,CAAS;IACpC,OAAO,CAAC,cAAc,CAAc;IACpC,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,SAAS,CAA0C;gBAE/C,OAAO,EAAE,mBAAmB;IAcxC,OAAO,CAAC,wBAAwB;IAmC1B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAOnB,eAAe;YASf,iBAAiB;IAa/B,OAAO,CAAC,iBAAiB;IA8BnB,IAAI,CACN,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAM,EACvD,SAAS,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QACpC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QACrC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;KACtD,GACF,OAAO,CAAC,aAAa,CAAC;IAoBnB,WAAW,CACb,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QACpC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QACrC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;KACtD,GACF,OAAO,CAAC,aAAa,CAAC;IAoBzB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAInC,UAAU,IAAI,OAAO;IAIrB,YAAY,IAAI,cAAc,EAAE;IAIhC,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;CAGjD"}
@@ -36,6 +36,7 @@ export class Orchestrator {
36
36
  customSystemPrompt;
37
37
  appendSystemPrompt;
38
38
  contextContent = '';
39
+ rootStructure = '';
39
40
  subAgents = new Map();
40
41
  constructor(options) {
41
42
  this.apiClient = options.apiClient;
@@ -83,6 +84,8 @@ export class Orchestrator {
83
84
  async initialize() {
84
85
  // Load context file if it exists
85
86
  await this.loadContextFile();
87
+ // Load root directory structure
88
+ await this.loadRootStructure();
86
89
  }
87
90
  async loadContextFile() {
88
91
  const contextPath = path.join(this.projectPath, CONTEXT_FILE);
@@ -93,6 +96,19 @@ export class Orchestrator {
93
96
  this.contextContent = '';
94
97
  }
95
98
  }
99
+ async loadRootStructure() {
100
+ try {
101
+ const entries = await fs.readdir(this.projectPath, { withFileTypes: true });
102
+ const list = entries
103
+ .filter(e => !e.name.startsWith('.') && e.name !== 'node_modules' && e.name !== 'dist')
104
+ .map(e => `${e.isDirectory() ? '📂' : '📄'} ${e.name}`)
105
+ .join('\n');
106
+ this.rootStructure = list;
107
+ }
108
+ catch {
109
+ this.rootStructure = '';
110
+ }
111
+ }
96
112
  buildSystemPrompt() {
97
113
  // Use custom system prompt if provided, otherwise default
98
114
  let prompt = this.customSystemPrompt || DEFAULT_SYSTEM_PROMPT;
@@ -100,6 +116,9 @@ export class Orchestrator {
100
116
  if (this.appendSystemPrompt) {
101
117
  prompt += `\n\n${this.appendSystemPrompt}`;
102
118
  }
119
+ if (this.rootStructure) {
120
+ prompt += `\n\n## Current Directory Structure\n${this.rootStructure}\n\nUse this context to understand the project structure and answer questions about the codebase. If the user asks about specific files, use read_file to examine them.`;
121
+ }
103
122
  if (this.contextContent) {
104
123
  prompt += `\n\n## Project Context (from ${CONTEXT_FILE})\n\n${this.contextContent}`;
105
124
  }
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../src/core/agents/orchestrator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,KAAK,EAAsB,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAmBlC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;uDAoByB,CAAC;AAExD,MAAM,OAAO,YAAY;IACb,SAAS,CAAY;IACrB,YAAY,CAAe;IAC3B,WAAW,CAAS;IACpB,QAAQ,CAAU;IAClB,QAAQ,CAAS;IACjB,kBAAkB,CAAU;IAC5B,kBAAkB,CAAU;IAC5B,cAAc,GAAW,EAAE,CAAC;IAC5B,SAAS,GAAgC,IAAI,GAAG,EAAE,CAAC;IAE3D,YAAY,OAA4B;QACpC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;QAC/C,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;QAErD,8BAA8B;QAC9B,IAAI,CAAC,wBAAwB,EAAE,CAAC;IACpC,CAAC;IAGO,wBAAwB;QAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE;YACxB,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,2CAA2C;YACxD,YAAY,EAAE;;;;0CAIgB;YAC9B,KAAK,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,CAAC;SAC/E,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE;YAC7B,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,mDAAmD;YAChE,YAAY,EAAE;;;;+BAIK;YACnB,KAAK,EAAE,CAAC,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,CAAC;SACnF,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE;YACxB,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,gDAAgD;YAC7D,YAAY,EAAE;;;;0BAIA;YACd,KAAK,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,CAAC;SAC5E,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,UAAU;QACZ,iCAAiC;QACjC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;IACjC,CAAC;IAEO,KAAK,CAAC,eAAe;QACzB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC9D,IAAI,CAAC;YACD,IAAI,CAAC,cAAc,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAClE,CAAC;QAAC,MAAM,CAAC;YACL,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QAC7B,CAAC;IACL,CAAC;IAEO,iBAAiB;QACrB,0DAA0D;QAC1D,IAAI,MAAM,GAAG,IAAI,CAAC,kBAAkB,IAAI,qBAAqB,CAAC;QAE9D,+CAA+C;QAC/C,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,MAAM,IAAI,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC/C,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM,IAAI,gCAAgC,YAAY,QAAQ,IAAI,CAAC,cAAc,EAAE,CAAC;QACxF,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,MAAM,IAAI;;;;;;yCAMmB,CAAC;QAClC,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,IAAI,CACN,WAAmB,EACnB,WAAqD,EAAE,EACvD,SAIC;QAED,MAAM,SAAS,GAAG,IAAI,KAAK,CACvB;YACI,IAAI,EAAE,MAAM;YACZ,YAAY,EAAE,IAAI,CAAC,iBAAiB,EAAE;YACtC,aAAa,EAAE,IAAI,CAAC,QAAQ;SAC/B,EACD,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,YAAY,CACpB,CAAC;QAGF,OAAO,SAAS,CAAC,GAAG,CAChB,WAAW,EACX,SAAS,EAAE,OAAO,EAClB,SAAS,EAAE,WAAW,EACtB,SAAS,EAAE,SAAS,CACvB,CAAC;IACN,CAAC;IAED,KAAK,CAAC,WAAW,CACb,SAAiB,EACjB,IAAY,EACZ,SAIC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,KAAK,CACnB;YACI,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,aAAa,EAAE,EAAE;SACpB,EACD,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,YAAY,CACpB,CAAC;QAEF,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC7F,CAAC;IAED,WAAW,CAAC,OAAgB;QACxB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,YAAY;QACR,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,gBAAgB,CAAC,MAAsB;QACnC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;CACJ"}
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../src/core/agents/orchestrator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bluehawks/cli",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "A production-ready multi-agent AI CLI assistant",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -8,7 +8,7 @@ export const DEFAULT_MODEL = 'Qwen/Qwen3-0.6B';
8
8
 
9
9
  // CLI Metadata
10
10
  export const CLI_NAME = 'bluehawks';
11
- export const CLI_VERSION = '1.0.0';
11
+ export const CLI_VERSION = '1.0.3';
12
12
  export const CLI_DESCRIPTION = 'A production-ready multi-agent AI CLI assistant';
13
13
 
14
14
  // Configuration Paths
@@ -58,6 +58,7 @@ export class Orchestrator {
58
58
  private customSystemPrompt?: string;
59
59
  private appendSystemPrompt?: string;
60
60
  private contextContent: string = '';
61
+ private rootStructure: string = '';
61
62
  private subAgents: Map<string, SubAgentConfig> = new Map();
62
63
 
63
64
  constructor(options: OrchestratorOptions) {
@@ -112,6 +113,8 @@ export class Orchestrator {
112
113
  async initialize(): Promise<void> {
113
114
  // Load context file if it exists
114
115
  await this.loadContextFile();
116
+ // Load root directory structure
117
+ await this.loadRootStructure();
115
118
  }
116
119
 
117
120
  private async loadContextFile(): Promise<void> {
@@ -123,6 +126,19 @@ export class Orchestrator {
123
126
  }
124
127
  }
125
128
 
129
+ private async loadRootStructure(): Promise<void> {
130
+ try {
131
+ const entries = await fs.readdir(this.projectPath, { withFileTypes: true });
132
+ const list = entries
133
+ .filter(e => !e.name.startsWith('.') && e.name !== 'node_modules' && e.name !== 'dist')
134
+ .map(e => `${e.isDirectory() ? '📂' : '📄'} ${e.name}`)
135
+ .join('\n');
136
+ this.rootStructure = list;
137
+ } catch {
138
+ this.rootStructure = '';
139
+ }
140
+ }
141
+
126
142
  private buildSystemPrompt(): string {
127
143
  // Use custom system prompt if provided, otherwise default
128
144
  let prompt = this.customSystemPrompt || DEFAULT_SYSTEM_PROMPT;
@@ -132,6 +148,10 @@ export class Orchestrator {
132
148
  prompt += `\n\n${this.appendSystemPrompt}`;
133
149
  }
134
150
 
151
+ if (this.rootStructure) {
152
+ prompt += `\n\n## Current Directory Structure\n${this.rootStructure}\n\nUse this context to understand the project structure and answer questions about the codebase. If the user asks about specific files, use read_file to examine them.`;
153
+ }
154
+
135
155
  if (this.contextContent) {
136
156
  prompt += `\n\n## Project Context (from ${CONTEXT_FILE})\n\n${this.contextContent}`;
137
157
  }