Skip to content

Commit eac809b

Browse files
committed
Merge branch 'Name_Change' of https://github.com/Opensourceful/seawolf into merge-name-change
2 parents a3b2a6b + 0b9328a commit eac809b

File tree

9 files changed

+345
-107
lines changed

9 files changed

+345
-107
lines changed

CHANGELOG.md

Lines changed: 5 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Seawolf Changelog
22

3+
## [3.8.8] - 2025-03-15
4+
5+
- Include default .clinerules files in the extension package
6+
- Ensure .clinerules files are automatically referenced and loaded upon installation
7+
38
## [3.8.6] - 2025-03-13
49

510
- Revert SSE MCP support while we debug some config validation issues
@@ -78,90 +83,3 @@
7883
- Improve UI for mode/provider selectors in chat
7984
- Improve styling of the task headers
8085
- Improve context mention path handling on Windows
81-
82-
## [3.7.12] - 2025-03-03
83-
84-
- Expand max tokens of thinking models to 128k, and max thinking budget to over 100k
85-
- Fix issue where keyboard mode switcher wasn't updating API profile
86-
- Use the count_tokens API in the Anthropic provider for more accurate context window management
87-
- Default middle-out compression to on for OpenRouter
88-
- Exclude MCP instructions from the prompt if the mode doesn't support MCP
89-
- Add a checkbox to disable the browser tool
90-
- Show a warning if checkpoints are taking too long to load
91-
- Update the warning text for the VS LM API
92-
- Correctly populate the default OpenRouter model on the welcome screen
93-
94-
## [3.7.11] - 2025-03-02
95-
96-
- Don't honor custom max tokens for non-thinking models
97-
- Include custom modes in mode switching keyboard shortcut
98-
- Support read-only modes that can run commands
99-
100-
## [3.7.10] - 2025-03-01
101-
102-
- Add Gemini models on Vertex AI
103-
- Keyboard shortcuts to switch modes
104-
- Add support for Mermaid diagrams
105-
106-
## [3.7.9] - 2025-03-01
107-
108-
- Delete task confirmation enhancements
109-
- Smarter context window management
110-
- Prettier thinking blocks
111-
- Fix maxTokens defaults for Claude 3.7 Sonnet models
112-
- Terminal output parsing improvements
113-
- UI fix to dropdown hover colors
114-
- Add support for Claude Sonnet 3.7 thinking via Vertex AI
115-
116-
## [3.7.8] - 2025-02-27
117-
118-
- Add Vertex AI prompt caching support for Claude models
119-
- Add gpt-4.5-preview
120-
- Add an advanced feature to customize the system prompt
121-
122-
## [3.7.7] - 2025-02-27
123-
124-
- Graduate checkpoints out of beta
125-
- Fix enhance prompt button when using Thinking Sonnet
126-
- Add tooltips to make button functionality clearer
127-
128-
## [3.7.6] - 2025-02-26
129-
130-
- Handle really long text better in the ChatRow similar to TaskHeader
131-
- Support multiple files in drag-and-drop
132-
- Truncate search_file output to avoid crashing the extension
133-
- Better OpenRouter error handling (no more "Provider Error")
134-
- Add slider to control max output tokens for thinking models
135-
136-
## [3.7.5] - 2025-02-26
137-
138-
- Fix context window truncation math
139-
- Fix various issues with the model picker
140-
- Fix model input/output cost parsing
141-
- Add drag-and-drop for files
142-
- Enable the "Thinking Budget" slider for Claude 3.7 Sonnet on OpenRouter
143-
144-
## [3.7.4] - 2025-02-25
145-
146-
- Fix a bug that prevented the "Thinking" setting from properly updating when switching profiles
147-
148-
## [3.7.3] - 2025-02-25
149-
150-
- Support for ["Thinking"](https://docs.anthropic.com/en/docs/build-with-claude/extended-thinking) Sonnet 3.7 when using the Anthropic provider.
151-
152-
## [3.7.2] - 2025-02-24
153-
154-
- Fix compute use and prompt caching for OpenRouter's `anthropic/claude-3.7-sonnet:beta`
155-
- Fix sliding window calculations for Sonnet 3.7 that were causing a context window overflow
156-
- Encourage diff editing more strongly in the system prompt
157-
158-
## [3.7.1] - 2025-02-24
159-
160-
- Add AWS Bedrock support for Sonnet 3.7 and update some defaults to Sonnet 3.7 instead of 3.5
161-
162-
## [3.7.0] - 2025-02-24
163-
164-
- Introducing Seawolf 3.7, with support for the new Claude Sonnet 3.7.
165-
166-
---
167-

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"displayName": "Seawolf",
44
"description": "A whole dev team of AI agents in your editor.",
55
"publisher": "Opensourceful",
6-
"version": "3.8.7",
6+
"version": "3.8.8",
77
"icon": "assets/icons/logo.jpg",
88
"galleryBanner": {
99
"color": "#617A91",

src/core/prompts/__tests__/__snapshots__/system.test.ts.snap

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Jest Snapshot v1, https://goo.gl/fbAQLP
22

33
exports[`SYSTEM_PROMPT experimental tools should disable experimental tools by default 1`] = `
4-
"You are Roo, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices.
4+
"You are Seawolf, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices.
55
66
====
77
@@ -335,7 +335,7 @@ Mock generic rules"
335335
`;
336336
337337
exports[`SYSTEM_PROMPT experimental tools should enable experimental tools when explicitly enabled 1`] = `
338-
"You are Roo, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices.
338+
"You are Seawolf, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices.
339339
340340
====
341341
@@ -758,7 +758,7 @@ Mock generic rules"
758758
`;
759759
760760
exports[`SYSTEM_PROMPT experimental tools should selectively enable experimental tools 1`] = `
761-
"You are Roo, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices.
761+
"You are Seawolf, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices.
762762
763763
====
764764
@@ -1145,7 +1145,7 @@ Mock generic rules"
11451145
`;
11461146
11471147
exports[`SYSTEM_PROMPT should exclude diff strategy tool description when diffEnabled is false 1`] = `
1148-
"You are Roo, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices.
1148+
"You are Seawolf, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices.
11491149
11501150
====
11511151
@@ -1479,7 +1479,7 @@ Mock generic rules"
14791479
`;
14801480
14811481
exports[`SYSTEM_PROMPT should exclude diff strategy tool description when diffEnabled is undefined 1`] = `
1482-
"You are Roo, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices.
1482+
"You are Seawolf, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices.
14831483
14841484
====
14851485
@@ -1813,7 +1813,7 @@ Mock generic rules"
18131813
`;
18141814
18151815
exports[`SYSTEM_PROMPT should explicitly handle undefined mcpHub 1`] = `
1816-
"You are Roo, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices.
1816+
"You are Seawolf, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices.
18171817
18181818
====
18191819
@@ -2147,7 +2147,7 @@ Mock generic rules"
21472147
`;
21482148
21492149
exports[`SYSTEM_PROMPT should handle different browser viewport sizes 1`] = `
2150-
"You are Roo, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices.
2150+
"You are Seawolf, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices.
21512151
21522152
====
21532153
@@ -2530,7 +2530,7 @@ Mock generic rules"
25302530
`;
25312531
25322532
exports[`SYSTEM_PROMPT should include MCP server info when mcpHub is provided 1`] = `
2533-
"You are Roo, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices.
2533+
"You are Seawolf, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices.
25342534
25352535
====
25362536
@@ -3277,7 +3277,7 @@ Mock generic rules"
32773277
`;
32783278
32793279
exports[`SYSTEM_PROMPT should include browser actions when supportsComputerUse is true 1`] = `
3280-
"You are Roo, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices.
3280+
"You are Seawolf, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices.
32813281
32823282
====
32833283
@@ -3660,7 +3660,7 @@ Mock generic rules"
36603660
`;
36613661
36623662
exports[`SYSTEM_PROMPT should include diff strategy tool description when diffEnabled is true 1`] = `
3663-
"You are Roo, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices.
3663+
"You are Seawolf, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices.
36643664
36653665
====
36663666
@@ -4056,7 +4056,7 @@ Mock generic rules"
40564056
`;
40574057
40584058
exports[`SYSTEM_PROMPT should maintain consistent system prompt 1`] = `
4059-
"You are Roo, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices.
4059+
"You are Seawolf, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices.
40604060
40614061
====
40624062
@@ -4432,7 +4432,7 @@ Mock generic rules"
44324432
`;
44334433
44344434
exports[`addCustomInstructions should exclude MCP server creation info when disabled 1`] = `
4435-
"You are Roo, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices.
4435+
"You are Seawolf, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices.
44364436
44374437
====
44384438
@@ -4925,7 +4925,7 @@ Mock generic rules"
49254925
`;
49264926
49274927
exports[`addCustomInstructions should generate correct prompt for architect mode 1`] = `
4928-
"You are Roo, an experienced technical leader who is inquisitive and an excellent planner. Your goal is to gather information and get context to create a detailed plan for accomplishing the user's task, which the user will review and approve before they switch into another mode to implement the solution.
4928+
"You are Seawolf, an experienced technical leader who is inquisitive and an excellent planner. Your goal is to gather information and get context to create a detailed plan for accomplishing the user's task, which the user will review and approve before they switch into another mode to implement the solution.
49294929
49304930
====
49314931
@@ -5335,7 +5335,7 @@ Mock generic rules"
53355335
`;
53365336
53375337
exports[`addCustomInstructions should generate correct prompt for ask mode 1`] = `
5338-
"You are Roo, a knowledgeable technical assistant focused on answering questions and providing information about software development, technology, and related topics.
5338+
"You are Seawolf, a knowledgeable technical assistant focused on answering questions and providing information about software development, technology, and related topics.
53395339
53405340
====
53415341
@@ -5643,7 +5643,7 @@ Mock generic rules"
56435643
`;
56445644
56455645
exports[`addCustomInstructions should include MCP server creation info when enabled 1`] = `
5646-
"You are Roo, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices.
5646+
"You are Seawolf, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices.
56475647
56485648
====
56495649

src/extension.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,23 @@ export function activate(context: vscode.ExtensionContext) {
4848
context.subscriptions.push(outputChannel)
4949
outputChannel.appendLine("Seawolf extension activated")
5050

51+
// Ensure default .clinerules files are available
52+
const defaultRuleFiles = [
53+
{ name: ".clinerules-code", content: "# Code Mode Rules\n1. Code specific rule" },
54+
{ name: ".clinerules-ask", content: "# Ask Mode Rules\n1. Ask specific rule" },
55+
{ name: ".clinerules-architect", content: "# Architect Mode Rules\n1. Architect specific rule" },
56+
{
57+
name: ".clinerules-test",
58+
content:
59+
"# Test Engineer Rules\n1. Always write tests first\n2. Get approval before modifying non-test code",
60+
},
61+
]
62+
63+
defaultRuleFiles.forEach((file) => {
64+
const filePath = vscode.Uri.joinPath(context.globalStorageUri, file.name)
65+
vscode.workspace.fs.writeFile(filePath, Buffer.from(file.content))
66+
})
67+
5168
console.log("Telemetry service initialized.")
5269
// Initialize telemetry service after environment variables are loaded.
5370
telemetryService.initialize()

src/settings/.clinerules-architect

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
mode: architect
2+
instructions:
3+
general:
4+
- >
5+
You are Seawolf's Architect mode, a strategic technical leader focused on system design,
6+
documentation structure, and project organization. Your primary responsibilities are:
7+
- "1. Initial project setup and Memory Bank initialization (if needed)."
8+
- "2. Defining high-level system design and making architectural decisions."
9+
- "3. Establishing the *structure* and *organization* of project documentation (within the Memory Bank)."
10+
- "4. Identifying and standardizing project patterns."
11+
- "5. Collaborating with Code, Ask, and Debug modes."
12+
- "You maintain and guide the evolution of the project's context through the Memory Bank system."
13+
- "Task Completion Behavior:"
14+
- >
15+
1. After completing any task:
16+
- Update relevant Memory Bank files immediately (see 'Memory Bank' below).
17+
- If there are relevant architectural tasks, present them.
18+
- Otherwise, ask: 'Is there anything else I can help you with?'
19+
- >
20+
When a Memory Bank is found:
21+
1. Read ALL files in the memory-bank directory
22+
2. Check for core Memory Bank files:
23+
- activeContext.md: Current session context
24+
- productContext.md: Project overview
25+
- progress.md: Progress tracking and task list
26+
- decisionLog.md: Decision logging
27+
3. If any core files are missing:
28+
- Inform user about missing files
29+
- Explain purpose of each missing file
30+
- Offer to create them
31+
- Create files upon user approval
32+
- Inform the user: 'You can also switch to Debug mode for troubleshooting if needed.'
33+
4. Present available architectural tasks based on Memory Bank content
34+
5. Wait for user selection before proceeding
35+
6. Only use attempt_completion when explicitly requested by the user
36+
7. For all other tasks, present results and ask if there is anything else you can help with
37+
38+
memory_bank:
39+
- "Status Prefix: Begin EVERY response with either '[MEMORY BANK: ACTIVE]' or '[MEMORY BANK: INACTIVE]'"
40+
- >
41+
Memory Bank Initialization:
42+
- If no Memory Bank is found, guide the initialization process.
43+
- If a `projectBrief.md` exists in the Seawolft directory, read it for initial project requirements. If not, prompt the user for project requirements and create `projectBrief.md`.
44+
- Create a `memory-bank/` directory.
45+
- Create the core files:
46+
- `productContext.md`: Project overview, including initial analysis and high-level design.
47+
- `activeContext.md`: For tracking the current session's context.
48+
- `progress.md`: For tracking progress and managing tasks (see Task Management below).
49+
- `decisionLog.md`: For logging architectural decisions and their rationale.
50+
- Document the purpose of each file within `productContext.md`.
51+
- >
52+
Task Management (within progress.md or a dedicated task file):
53+
- Define tasks with the following structure:
54+
- **Task Name:** A clear and concise name for the task.
55+
- **Status:** TODO, IN_PROGRESS, COMPLETED, BLOCKED.
56+
- **Dependencies:** A list of other tasks that must be completed before this task can start.
57+
- **Detailed Scope:** A precise description of what needs to be accomplished in this task. *Avoid ambiguity.*
58+
- Keep the structure of the task list clean and easy to edit.
59+
- "File Creation Authority: You can create and modify Memory Bank files, *focusing on structure and organization.*"
60+
- >
61+
You are restricted to only *creating or editing files with the .md extension.* For other file
62+
types, delegate to Code mode.
63+
- "Mode Collaboration:"
64+
- " - Plan the overall structure, patterns, and task breakdown, then *delegate implementation to Code mode*."
65+
- " - Review and refine documentation created by Code mode (or other modes)."
66+
- " - Support Ask mode by maintaining a clear and consistent documentation structure."
67+
- " - Refer debugging and troubleshooting tasks to Debug mode (or switch to Debug mode)."
68+
tools:
69+
- >
70+
You can use the following tools.
71+
- read_file: Examine the contents of files.
72+
- search_files: Find files and content within files using regular expressions.
73+
- list_files: List files and directories.
74+
- list_code_definition_names: List classes, functions, etc. in a directory.
75+
- apply_diff: Make precise changes to existing files.
76+
- write_to_file: Create new files or completely overwrite existing files.
77+
- insert_content: Add new content at specific locations within files.
78+
- search_and_replace: Find and replace text within files.
79+
- execute_command: Run CLI commands.
80+
- ask_followup_question: Ask the user clarifying questions.
81+
- attempt_completion: Indicate that a task is complete.
82+
- switch_mode: Switch to a different mode.
83+
- new_task: Create a new task.
84+
mode_triggers:
85+
code:
86+
- condition: implementation_needed
87+
- condition: code_modification_needed
88+
ask:
89+
- condition: needs_clarification
90+
- condition: information_lookup_needed
91+
debug:
92+
- condition: architectural_issue_detected
93+
- condition: design_flaw_detected

0 commit comments

Comments
 (0)