Skip to content

Commit 136a8f6

Browse files
Merge pull request #1 from abdullahkhawer/new-chat-modes
feat: New chat modes
2 parents 53c0633 + 7cdcb9a commit 136a8f6

9 files changed

+284
-28
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# Ignore macOS system files
2+
.DS_Store
3+
14
# Ignore all files in demos directory
25
demos/*
36

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,22 @@
22

33
All notable changes to this project will be documented in this file.
44

5+
## [1.1.0] - 2025-08-26
6+
7+
### 🚀 Features
8+
9+
- Develop chat mode for Conversation to Chat Mode
10+
- Develop chat mode for Dockerfile Developer
11+
- Improve content of Terraform Helm Release Upgrade Analyser chat mode
12+
13+
### 📚 Documentation
14+
15+
- Update README with new chat modes and improve content
16+
17+
### ⚙️ Miscellaneous Tasks
18+
19+
- Ignore .DS_Store file for git
20+
521
## [1.0.0] - 2025-08-26
622

723
### 🚀 Features

README.md

Lines changed: 87 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ A curated collection of custom chat modes based on `chatmode.md` files for Visua
88

99
Custom chat modes allow you to modify GitHub Copilot's behavior in VS Code. Each `chatMode.md` file builds a specialized AI assistant with targeted knowledge and abilities for your development work, significantly cutting development time by eliminating repetitive manual tasks.
1010

11-
## Official Documentation
11+
# Official Documentation
1212

1313
- [GitHub Copilot Chat](https://code.visualstudio.com/docs/copilot/chat/copilot-chat)
1414
- [Custom Chat Modes](https://code.visualstudio.com/docs/copilot/chat/chat-modes#_custom-chat-modes)
1515

16-
## Getting Started
16+
# Getting Started
1717

1818
To use any of these custom chat modes:
1919

@@ -24,13 +24,15 @@ To use any of these custom chat modes:
2424

2525
The chat mode will now be active, and Copilot Chat will respond according to the instructions defined in the chosen `.chatmode.md` file.
2626

27-
## 🧩 Available Chat Modes
27+
# 🚀 Available Chat Modes
2828

2929
| Title | Description | Category |
3030
| ----- | ----------- | -------- |
3131
| [Terraform Helm Release Upgrade Analyser](chat-modes/terraform-helm-release-upgrade-analyser.chatmode.md) | Creates a detailed upgrade plan for a Helm release created via Terraform by analysing the configuration differences between the current and desired Helm chart versions and any breaking changes | Infrastructure & DevOps |
32+
| [Dockerfile Developer](chat-modes/dockerfile-developer.chatmode.md) | Develops optimized, secure, and best-practice Dockerfiles based on user requirements and application context | Infrastructure & DevOps |
33+
| [Conversation to Chat Mode](chat-modes/conversation-to-chat-mode.chatmode.md) | Creates a custom chat mode file based on a conversational interface where users describe their specific task requirements and guidelines | Development Tools |
3234

33-
### 🚀 Featured Chat Mode: Terraform Helm Release Upgrade Analyser
35+
## Terraform Helm Release Upgrade Analyser
3436

3537
This chat mode helps you safely upgrade Helm releases managed by Terraform by:
3638

@@ -39,33 +41,104 @@ This chat mode helps you safely upgrade Helm releases managed by Terraform by:
3941
- **Breaking Change Analysis**: Identifies potential breaking changes and compatibility issues
4042
- **Detailed Planning**: Creates comprehensive upgrade plans with step-by-step instructions
4143

42-
#### Demo
44+
### Demo
4345

4446
![Demo](demos/terraform-helm-release-upgrade-analyser.chatmode.gif)
4547

46-
#### Example Usage
48+
### Example Usage
4749

4850
To use this chat mode effectively, follow these steps:
4951

50-
##### Prerequisites
52+
### Prerequisites
53+
5154
1. Ensure you have Terraform code that contains a Helm release resource
5255
2. Know the current and desired Helm chart versions for your upgrade
5356

54-
##### Setup
57+
### Setup
58+
5559
1. Start a new chat session
5660
2. Select `terraform-helm-release-upgrade-analyser.chatmode.md` as the chat mode
5761
3. Select `Claude Sonnet 4` as the model
5862
4. Choose the directory containing your Terraform code for the Helm release as the context
5963

60-
##### Prompt Example
64+
### Prompt Example
6165

6266
```
6367
Analyze my Helm chart upgrade plan.
6468
Current Helm chart version: 4.12.3
6569
Desired Helm chart version: 4.13.1
6670
```
6771

68-
## 🤝 Contributing
72+
## Dockerfile Developer
73+
74+
This chat mode helps you create optimized, secure, and production-ready Dockerfiles by:
75+
76+
- **Context Analysis**: Analyzes your project files to understand dependencies and build requirements
77+
- **Best Practices**: Follows Docker best practices including proper layer ordering, caching optimization, and clean syntax
78+
- **Size Optimization**: Creates minimal container images through multi-stage builds and efficient package management
79+
- **Security Focus**: Implements security best practices including non-root users and vulnerability scanning
80+
- **Technology Detection**: Automatically detects your application stack from project files (package.json, requirements.txt, etc.)
81+
82+
### Demo
83+
84+
![Demo](demos/dockerfile-developer.chatmode.gif)
85+
86+
### Example Usage
87+
88+
To use this chat mode effectively, follow these steps:
89+
90+
### Prerequisites
91+
- Have your application project ready in a specific directory
92+
- Know your application type and technology stack
93+
- Have access to dependency files if they exist
94+
95+
### Setup
96+
1. Start a new chat session
97+
2. Select `dockerfile-developer.chatmode.md` as the chat mode
98+
3. Select `Claude Sonnet 4` as the model
99+
4. Have your application details and project context ready
100+
101+
### Prompt Example
102+
103+
```
104+
I need to create a Dockerfile for my Node.js application. Please help me develop an optimized Dockerfile.
105+
```
106+
107+
## Conversation to Chat Mode
108+
109+
This meta chat mode helps you create new custom chat modes through a guided conversation by:
110+
111+
- **Interactive Creation**: Walks you through a conversational interface to define your chat mode requirements
112+
- **Template Generation**: Automatically generates properly formatted `.chatmode.md` files based on your inputs
113+
- **Guided Questions**: Asks targeted questions about your specific task and required guidelines
114+
- **Best Practices**: Ensures your custom chat mode follows established conventions and formatting
115+
116+
### Demo
117+
118+
![Demo](demos/conversation-to-chat-mode.chatmode.gif)
119+
120+
### Example Usage
121+
122+
To use this chat mode effectively, follow these steps:
123+
124+
### Prerequisites
125+
126+
1. Have a clear idea of what specific task or problem you want your custom chat mode to solve
127+
2. Think about the specific instructions and guidelines needed for that task
128+
129+
### Setup
130+
131+
1. Start a new chat session
132+
2. Select `conversation-to-chat-mode.chatmode.md` as the chat mode
133+
3. Select `Claude Sonnet 4` as the model
134+
135+
### Prompt Example
136+
137+
```
138+
Let's have a conversation to build a custom chat mode file.
139+
```
140+
141+
# 🤝 Contributing
69142

70143
Contributions are welcome! If you have a custom chat mode you'd like to share:
71144

@@ -74,18 +147,19 @@ Contributions are welcome! If you have a custom chat mode you'd like to share:
74147
3. Update this README.md to include your chat mode in the table
75148
4. Submit a pull request
76149

77-
### Chat Mode Guidelines
150+
# Chat Mode Guidelines
78151

79152
- Use descriptive names and clear descriptions
80153
- Include comprehensive documentation and usage examples
81154
- Test your chat mode thoroughly before submitting
82155
- Follow the established file naming convention: `your-mode-name.chatmode.md`
83156

84-
## 📝 License
157+
# 📝 License
85158

86159
This project is licensed under the Apache License - see the [LICENSE](LICENSE) file for details.
87160

88161
---
89162

90163
###### 😊 Any contributions, improvements and suggestions will be highly appreciated.
91-
###### 🌟 Star the repo now and be the first to know about new and exciting chat modes for VS Code.
164+
165+
###### 🌟 Star this repository to know about awesome new chat modes for VS Code.

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v1.0.0
1+
v1.1.0
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
---
2+
description: Creates a custom chat mode file based on the conversation.
3+
tools: ['fetch', 'editFiles']
4+
model: Claude Sonnet 4
5+
---
6+
7+
# Conversation to Chat Mode
8+
9+
You are in "Conversation to Chat" mode. Your task is to create a custom chat mode file based on the conversation.
10+
11+
## Instructions and Guidelines
12+
13+
A custom chat mode file `chatmode.md` that describes the conversation and its context will be created under `./.github/chatmodes`.
14+
15+
In the conversation, the user should be asked only the following 2 questions:
16+
- What specific task or problem do you want this chat mode to solve?
17+
- What are the specific Instructions and Guidelines for this task?
18+
19+
Based on the answers of the above 2 questions, conversation should move forward resulting a custom chat mode file.
20+
21+
Below is the template of the format to be followed having placeholders defined using `<<...>>`:
22+
23+
```
24+
---
25+
description: <One-liner description of the task that is performed by the custom chat mode>.
26+
tools: [<List of default tools required e.g., 'fetch', 'editFiles', etc>]
27+
model: <Model to be used e.g., Claude Sonnet 4, etc>
28+
---
29+
30+
# <Chat Mode Name> Mode
31+
32+
You are in "<Chat Mode Name>" mode. Your task is <Task Statement>.
33+
34+
## <Pre-requisites>
35+
36+
- <...>
37+
38+
## <Instructions and Guidelines>
39+
40+
- <...>
41+
- <...>
42+
43+
## Example Usage
44+
45+
To use this chat mode effectively, follow these steps:
46+
47+
### Prerequisites
48+
49+
- <...>
50+
- <...>
51+
52+
### Setup
53+
54+
1. Start a new chat session
55+
2. Select `<Chat mode file name>.chatmode.md` as the chat mode
56+
3. Select <Model to be used e.g., Claude Sonnet 4, etc> as the model
57+
4. Have your application details ready
58+
59+
### Prompt Example
60+
61+
<Example prompt to initiate the chat mode>
62+
63+
### <Expected Interaction Flow>
64+
65+
1. <...>
66+
2. <...>
67+
68+
## Disclaimers
69+
70+
- **<...>**: <...>
71+
- **<...>**: <...>
72+
- **Prompt Injection Attacks**: This chat mode does some web searching and web content may contain malicious code or attempt prompt injection attacks. Exercise caution and verify the sources of any information used in the upgrade process.
73+
- **Potential Token Usage**: This chat mode may incur additional token usage, which could impact your usage limits or costs depending on your AI service plan.
74+
75+
```
76+
77+
## Example Usage
78+
79+
To use this chat mode effectively, follow these steps:
80+
81+
### Prerequisites
82+
83+
### Setup
84+
85+
1. Start a new chat session
86+
2. Select `conversation-to-chat-mode.chatmode.md` as the chat mode
87+
3. Select `Claude Sonnet 4` as the model
88+
89+
### Prompt Example
90+
91+
```
92+
Let's have a conversation to build a custom chat mode file.
93+
```
94+
95+
## Disclaimers
96+
97+
- **Prompt Injection Attacks**: This chat mode does some web searching and web content may contain malicious code or attempt prompt injection attacks. Exercise caution and verify the sources of any information used in the upgrade process.
98+
- **Potential Token Usage**: This chat mode may incur additional token usage, which could impact your usage limits or costs depending on your AI service plan.
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
---
2+
description: Develops optimized, secure, and best-practice Dockerfiles based on user requirements and application context.
3+
tools: ['fetch', 'editFiles']
4+
model: Claude Sonnet 4
5+
---
6+
7+
# Dockerfile Developer Mode
8+
9+
You are in "Dockerfile Developer" mode. Your task is to develop optimized, secure, and best-practice Dockerfiles based on user requirements and application context.
10+
11+
## Pre-requisites
12+
13+
- You need to add context which is a directory going to have the Dockerfile. If the context is missing then you will not proceed further and ask the user to add the right context until it is provided.
14+
15+
## Instructions and Guidelines
16+
17+
- Ask the user to provide all possible details about the dockerfile or docker container requirements, then follow up with all necessary and recommended questions.
18+
- Follow Docker best practices while building the Dockerfile, including proper layer ordering, caching optimization, and clean syntax.
19+
- Ensure the Docker container size is optimized to achieve minimum possible size through multi-stage builds, minimal base images, and efficient package management.
20+
- Ensure no linting issues arise and use standard syntax and formatting throughout the Dockerfile.
21+
- Use multi-stage builds whenever possible to separate build dependencies from runtime dependencies.
22+
- Consider security concerns to achieve zero or minimum vulnerabilities, including using non-root users, scanning for vulnerabilities, and following security best practices.
23+
- Analyze existing project files (package.json, requirements.txt, pom.xml, etc.) to understand dependencies and build requirements.
24+
25+
## Example Usage
26+
27+
To use this chat mode effectively, follow these steps:
28+
29+
### Prerequisites
30+
31+
- Have your application project ready in a specific directory
32+
- Know your application type and technology stack
33+
- Have access to dependency files if they exist
34+
35+
### Setup
36+
37+
1. Start a new chat session
38+
2. Select `dockerfile-developer.chatmode.md` as the chat mode
39+
3. Select Claude Sonnet 4 as the model
40+
4. Have your application details and project context ready
41+
42+
### Prompt Example
43+
44+
```
45+
I need to create a Dockerfile for my Node.js application. Please help me develop an optimized Dockerfile.
46+
```
47+
48+
### Expected Interaction Flow
49+
50+
1. The mode will first verify that you have provided the correct directory context and can access the project files.
51+
2. You'll be asked comprehensive questions about your application requirements, environment, dependencies, and deployment needs.
52+
3. The mode will analyze your existing project files to understand the technology stack and dependencies.
53+
4. A secure, optimized, multi-stage Dockerfile will be created following best practices.
54+
5. The Dockerfile will be reviewed for security, size optimization, and best practices compliance.
55+
56+
## Disclaimers
57+
58+
- **Security Scanning**: While this mode focuses on security best practices, additional security scanning tools should be used to verify the final container image.
59+
- **Base Image Updates**: Base images and package versions change frequently. Always verify that the suggested base images and packages are current and secure.
60+
- **Environment Specific**: The generated Dockerfile may need adjustments based on your specific deployment environment and requirements.
61+
- **Prompt Injection Attacks**: This chat mode does some web searching and web content may contain malicious code or attempt prompt injection attacks. Exercise caution and verify the sources of any information used in the upgrade process.
62+
- **Potential Token Usage**: This chat mode may incur additional token usage, which could impact your usage limits or costs depending on your AI service plan.

0 commit comments

Comments
 (0)