Gleb Bahmutov PRO
JavaScript ninja, image processing expert, software quality fanatic
brought to you by the fossil fuel companies
image source: https://www.dailysabah.com/world/americas/more-damage-anticipated-as-california-fire-season-sets-records
Greenpeace 350 Sunrise Citizen Climate Lobby
C / C++ / C# / Java / CoffeeScript / JavaScript / Node / Angular / Vue / Cycle.js / functional programming / testing
A typical Mercari US Cypress E2E test
2022: Mercari US disallows using AI code generation assistants pending a legal review
2023: Mercari US allows using AI code generation assistants after a legal review
Profit!!!
VSCode Copilot Extension
Which model?
Mercari US isn't paying for Copilot GH CLI extension
Tip: VSCode Copilot Chat extension
can provide the same info as GitHub CLI copilot
Tip: use "/clear" command to clear the Copilot session
Paste the Copilot answer right into VSCode built-in terminal
@terminal /explain "ls -lh"
"chat participant"
@workspace
@github
@vscode
"command"
/clear
/doc
/tests
Is GitHub Copilot
making me more productive?
Measuring programming progress by lines of code is like measuring aircraft building progress by weight.
I learned
to fly a small
plane
Copilot
"answer"
https://github.com/bahmutov/cypress-copilot-example
branch a3, might need "npm install"
https://github.com/bahmutov/cypress-copilot-example
branch a3, might need "npm install"
Tip: Add a comment like "// format the price using USD currency"
to see better suggestions
imprecise for the computer
cy
command chain⚠️ if you see "cy.route" suggestion,
it is obsolete!
network-calls.cy.js
/fix
command/doc
command to generate JSDoc commentscy.log
commandsadding-todos.cy.js
https://github.com/bahmutov/cypress-copilot-example
branch bonus02
https://github.com/bahmutov/cypress-copilot-example
branch bonus02
❤️ the "/explain" command
GitHub Copilot is the "Y" key when playing Mario
Download public models (almost like Docker!)
{
"models": [
{
"title": "DeepSeek Coder 6.7b",
"provider": "ollama",
"model": "deepseek-coder:6.7b"
},
{
"model": "claude-3-5-sonnet-latest",
"provider": "anthropic",
"apiKey": "",
"title": "Claude 3.5 Sonnet"
}
],
"tabAutocompleteModel": {
"title": "DeepSeek Coder 6.7b",
"provider": "ollama",
"model": "deepseek-coder:6.7b"
},
"embeddingsProvider": {
"provider": "ollama",
"model": "nomic-embed-text"
}
}
I found local models
to be pretty
inaccurate
By Gleb Bahmutov
want to show you the secret weapon I have used for the past year. The GitHub Copilot lets me write full tests quickly, fills the gaps in my knowledge of 3rd party tools, and even writes clear descriptive commit messages. But it is not a "press the button to do it all". You need to guide the AI to do the right thing, which takes experience, but most importantly, you need to decide _what_ you want the AI to do, step by step. Presented at ConFoo 2025, 45 minutes
JavaScript ninja, image processing expert, software quality fanatic