Skip to content

Add walkthroughs #16

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 40 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,45 @@
}
]
},
"walkthroughs": [
{
"id": "firecoderwelcome",
"title": "Get started with FireCoder",
"description": "Discover and personalize features that will help write better code.",
"steps": [
{
"id": "download",
"title": "download",
"description": "Upon installation, please wait for the **server** and **model** download, which is essential for FireCoder to function with its AI-driven features. \nDownload duration may vary depending on your internet speed.",
"media": {
"markdown": "./walkthroughs/download.md"
}
},
{
"id": "autoMode",
"title": "Auto Mode",
"description": "Start by using the auto mode, which provides prompts automatically. \nBy default, FireCoder uses the **base-small** model. This model strikes a balance between speed and prompt quality, offering quick and reliable suggestions right out of the box.",
"media": {
"markdown": "./walkthroughs/auto-mode.md"
}
},
{
"id": "manualMode",
"title": "Manual Mode",
"description": "Manual mode can be activated using the hotkey **Ctrl+Enter**. \nWhen using manual mode, FireCoder will attempt to gather as much context as possible to provide the best suggestions. Manual mode can offer hits in multiple lines and has no time restrictions.",
"media": {
"markdown": "./walkthroughs/manual-mode.md"
}
}
]
}
],
"views": {
"firecoder": [
{
"type": "webview",
"id": "firecoder.chat-gui",
"name": "",
"name": "FireCoder",
"visibility": "visible",
"when": "config.firecoder.experimental.chat"
}
Expand All @@ -63,11 +96,15 @@
"commands": [
{
"command": "firecoder.inlineSuggest",
"title": "My Inline Completion Demo Settings"
"title": "FireCoder: Trigger inline suggestion"
},
{
"command": "firecoder.welcome",
"title": "FireCoder: Welcome"
},
{
"command": "firecoder.startNewChat",
"title": "New Chat",
"title": "FireCoder: New Chat",
"icon": "$(add)"
}
],
Expand Down
2 changes: 1 addition & 1 deletion src/common/server/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ class Server {
...(isChatModel ? ["--ctx-size", "16384"] : ["--ctx-size", "4096"]),
...(isBaseModel ? ["--parallel", "4"] : []),
...(isMacArm64 ? ["--nobrowser"] : []),
...(useGPU ? ["--n-gpu-layers", "100"] : []),
...(useGPU && isChatModel ? ["--n-gpu-layers", "100"] : []),
"--cont-batching",
"--embedding",
"--log-disable",
Expand Down
10 changes: 10 additions & 0 deletions src/extension.ts
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,16 @@ export async function activate(context: vscode.ExtensionContext) {
})
);

context.subscriptions.push(
vscode.commands.registerCommand("firecoder.welcome", async () => {
await vscode.commands.executeCommand(
`workbench.action.openWalkthrough`,
`FireCoder.firecoder#firecoderwelcome`,
false
);
})
);

(async () => {
try {
const serversStarted = await Promise.all(
Expand Down
12 changes: 12 additions & 0 deletions walkthroughs/auto-mode.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<figure align="center">
<video width="730" height="190" autoplay loop muted>
<source src="./download-model.mp4" type="video/mp4">
</video>
<figcaption>Ussing manual mode</figcaption>
</figure>

1. **Customize Prompt Quality**: If you prefer, you can adjust the settings to use larger models for higher-quality prompts. This option allows you to fine-tune your coding experience based on your preferences and requirements.

2. **Efficient Response Times**: FireCoder is designed to return answers swiftly, even on less powerful computers. The extension automatically adjusts the context size to ensure that responses are generated within one second, ensuring a seamless coding experience.

3. **Consider Manual Mode for multi-line hints**: While auto mode is convenient for quick prompts, it typically returns only a single line. If you need more extensive prompts or multiple lines of code suggestions, consider switching to manual mode for a more comprehensive experience.
Binary file added walkthroughs/download-model.mp4
Binary file not shown.
6 changes: 6 additions & 0 deletions walkthroughs/download.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<figure align="center">
<video width="730" height="190" autoplay loop muted>
<source src="./download-model.mp4" type="video/mp4">
</video>
<figcaption>Download Process</figcaption>
</figure>
6 changes: 6 additions & 0 deletions walkthroughs/manual-mode.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<figure align="center">
<video width="730" height="190" autoplay loop muted>
<source src="./download-model.mp4" type="video/mp4">
</video>
<figcaption>Ussing manual mode</figcaption>
</figure>