VS Code Workspace
Purposeโ
Visual Studio Code is the standard development environment for Cloudberrie engineering projects.
This guide defines the required workspace structure, account configuration, Git identity, extensions, terminal practices, and project-opening procedures used across Cloudberrie repositories.
Following a consistent workspace standard helps ensure that:
- Projects behave consistently across developer machines.
- Git commits use the correct Cloudberrie identity.
- Source code formatting remains predictable.
- Repository and branch information is visible.
- New contributors can begin working with minimal setup differences.
- Development, staging, and production workflows remain separated.
Standard Development Toolโ
Cloudberrie uses:
Visual Studio Code
Download and install the latest stable version of Visual Studio Code from the official Microsoft distribution.
Developers should avoid using preview or insider builds for routine Cloudberrie work unless a project specifically requires them.
Cloudberrie Project Locationโ
Cloudberrie projects should be stored under the following parent directory on macOS:
/Users/cloudberrie/Documents/Cloudberrie/Projects
Current project examples include:
/Users/cloudberrie/Documents/Cloudberrie/Projects/cb-manual
/Users/cloudberrie/Documents/Cloudberrie/Projects/cb-website
/Users/cloudberrie/Documents/Cloudberrie/Projects/cb-studio-board
Each GitHub repository must have its own local folder.
Do not place multiple repositories inside one shared Git repository.
Opening a Projectโ
Always open the repository root folder in Visual Studio Code.
For example, to open the Cloudberrie Manual:
cd /Users/cloudberrie/Documents/Cloudberrie/Projects/cb-manual
code .
The folder opened in VS Code should contain project-level files such as:
.git
package.json
README.md
docs
src
static
docusaurus.config.ts
sidebars.ts
Opening only the docs, src, or another subfolder may prevent VS Code and Git extensions from detecting the full repository correctly.
GitHub Account Standardโ
The Cloudberrie engineering GitHub account is:
GitHub username: cb-engops
GitHub sign-in email: accounts@cloudberrie.com
Use either the GitHub username or verified account email when signing in.
The email below is not used as the GitHub login identity:
engineering@cloudberrie.com
It is used as the Git commit author email.
Git Commit Identityโ
All Cloudberrie engineering commits must use the approved Cloudberrie commit identity.
Verify the current configuration:
git config --global user.name
git config --global user.email
The email must be:
engineering@cloudberrie.com
Set the Git author configuration when required:
git config --global user.name "Cloudberrie Engineering"
git config --global user.email "engineering@cloudberrie.com"
Verify the configuration:
git config --global --list
Expected values:
user.name=Cloudberrie Engineering
user.email=engineering@cloudberrie.com
Do not use personal email addresses for commits to Cloudberrie repositories.
Repository Identity Checkโ
Before making changes, confirm that the current folder belongs to the intended repository.
Run:
git remote -v
For the Cloudberrie Manual, the remote should reference:
cloudberrie-studio/cb-manual
Also confirm the active branch:
git branch --show-current
Typical output:
develop
Check the complete repository status:
git status
This displays:
- The active branch
- Whether the local branch matches the remote branch
- Modified files
- Untracked files
- Staged changes
Standard Branch Awarenessโ
VS Code displays the active Git branch in the lower-left status bar.
Before editing a project, verify that the active branch matches the intended workflow.
Cloudberrie uses the following branch model:
feature/*
โ
develop
โ
staging
โ
main
Branch purposes:
| Branch | Purpose |
|---|---|
feature/* | Isolated feature or documentation work |
develop | Integrated development environment |
staging | Pre-production testing and approval |
main | Production-ready source |
Do not assume the active branch.
Always verify it with:
git branch --show-current
Recommended VS Code Extensionsโ
The following extensions are recommended for Cloudberrie engineering work.
Core Extensionsโ
| Extension | Purpose |
|---|---|
| ESLint | JavaScript and TypeScript code quality |
| Prettier | Consistent code formatting |
| GitLens | Git history and file-level change visibility |
| GitHub Pull Requests and Issues | Pull request and GitHub workflow support |
| Material Icon Theme | Clear file and folder identification |
| EditorConfig | Shared editor formatting rules |
| Markdown All in One | Markdown authoring and navigation |
| Markdown Preview Enhanced | Documentation preview support |
Project-Specific Extensionsโ
Install only when required by the project:
| Extension | Use |
|---|---|
| Firebase | Firebase-related projects |
| Cloudflare Workers | Cloudflare Workers and Wrangler projects |
| Thunder Client | API testing |
| REST Client | HTTP request testing |
| Tailwind CSS IntelliSense | Tailwind CSS projects |
| Docker | Container-based projects |
Avoid installing unnecessary extensions that add background processes, duplicate functionality, or require broad repository permissions.
Workspace Trustโ
When opening a Cloudberrie repository for the first time, VS Code may ask whether the folder is trusted.
Select workspace trust only when:
- The repository was cloned from the official
cloudberrie-studioGitHub organization. - The repository remote has been verified.
- The source has not been downloaded from an unknown third party.
Verify the repository before enabling workspace features:
git remote -v
Integrated Terminalโ
Use the VS Code integrated terminal for routine engineering operations.
Open it using:
Terminal โ New Terminal
or:
Control + `
The terminal should open at the repository root.
Verify the current path:
pwd
For the Cloudberrie Manual, the output should be:
/Users/cloudberrie/Documents/Cloudberrie/Projects/cb-manual
Do not run Git, npm, or build commands from the wrong project directory.
Standard Terminal Checksโ
At the beginning of a work session, run:
pwd
git branch --show-current
git status
git pull origin develop
Use the appropriate branch name when working outside develop.
Before committing, run:
git status
git diff
Before pushing, run the project validation command.
For Docusaurus projects:
npm run build
For local development:
npm start
Node.js and npm Verificationโ
Check the installed versions:
node --version
npm --version
Cloudberrie projects must use versions compatible with the repository and deployment platform.
Do not upgrade Node.js, npm, Docusaurus, React, or other major dependencies during unrelated feature work.
Dependency upgrades must be handled as separate, reviewed changes.
File Editing Standardsโ
Use the following practices when modifying Cloudberrie projects:
- Edit only files related to the assigned change.
- Do not replace entire project folders unless the change has been reviewed.
- Do not copy
node_modulesbetween projects. - Do not manually edit generated build folders.
- Do not edit
.docusaurusoutput files. - Do not edit the
buildfolder directly. - Preserve existing file names and directory structure unless a planned migration requires changes.
- Use lowercase, hyphen-separated names for documentation files.
Examples:
vscode-workspace.md
branch-strategy.md
cloudflare-deployment.md
release-promotion.md
Avoid:
VSCode Workspace.md
Branch_Strategy.md
cloudflareDeployment.md
Generated Filesโ
The following folders are generated and should not be manually maintained:
node_modules
.docusaurus
build
They should normally be excluded through .gitignore.
When troubleshooting stale generated output, they may be removed and recreated:
rm -rf .docusaurus
rm -rf build
npm run build
These cleanup commands should not be run routinely when the project is already working correctly.
Formattingโ
Where supported, use Prettier for consistent formatting.
Recommended behavior:
- Format files before saving or committing.
- Preserve existing repository conventions.
- Avoid large formatting-only changes mixed with functional changes.
- Do not reformat unrelated files.
If format-on-save causes unexpected changes across the repository, disable it temporarily and format only the files being modified.
Source Control Panelโ
The VS Code Source Control panel can be used to review:
- Modified files
- New files
- Deleted files
- Staged changes
- File diffs
However, all important Git operations should remain understandable through terminal commands.
Before committing, confirm changes with:
git status
git diff
Never commit based only on the number shown in the VS Code Source Control icon.
Commit Workflowโ
A standard documentation update follows this process:
git branch --show-current
git status
npm run build
git add .
git status
git commit -m "Add VS Code workspace documentation"
git push origin develop
Use git add . only after reviewing all listed changes.
For greater control, stage specific files:
git add docs/engineering/development-environment/vscode-workspace.md
VS Code Updatesโ
Keep Visual Studio Code reasonably current, but avoid updating it immediately before a critical release unless necessary.
After a major VS Code update:
- Open the project.
- Confirm extensions load correctly.
- Verify the integrated terminal.
- Run the local build.
- Confirm Git branch detection.
- Confirm formatting behavior.
Security Practicesโ
Cloudberrie engineering workspaces must follow these rules:
- Do not save passwords in source files.
- Do not commit API keys, tokens, private keys, or service-account credentials.
- Do not store secrets in Markdown documentation.
- Do not expose
.envfiles unless they contain approved non-sensitive examples. - Do not install untrusted VS Code extensions.
- Do not approve broad extension permissions without review.
- Use multi-factor authentication for GitHub and Cloudflare accounts.
- Store recovery codes in an approved secure password manager.
Daily Workspace Checklistโ
Before starting work:
[ ] Open the correct repository root
[ ] Confirm the current folder
[ ] Confirm the Git branch
[ ] Check Git status
[ ] Pull the latest changes
[ ] Confirm Node.js and npm are available
Before committing:
[ ] Review modified and untracked files
[ ] Run the local build or test command
[ ] Review the Git diff
[ ] Confirm no credentials or generated files are included
[ ] Use a clear commit message
Before pushing:
[ ] Confirm the target branch
[ ] Confirm the local build succeeded
[ ] Push to the correct remote branch
[ ] Verify the GitHub commit
[ ] Verify the associated deployment
Troubleshootingโ
VS Code opens the wrong folderโ
Close the current workspace and reopen the repository root:
cd /Users/cloudberrie/Documents/Cloudberrie/Projects/cb-manual
code .
Git branch is not visibleโ
Confirm the folder is a Git repository:
git status
If Git reports that the folder is not a repository, verify that the correct folder was opened.
code command is not foundโ
In VS Code:
Command Palette
โ Shell Command: Install 'code' command in PATH
Then restart the terminal.
Git shows the wrong emailโ
Run:
git config --global user.email
Correct it with:
git config --global user.email "engineering@cloudberrie.com"
Local files appear unexpectedly modifiedโ
Run:
git status
git diff
Do not discard changes until their source is understood.
VS Code extensions are not workingโ
Reload the editor:
Command Palette
โ Developer: Reload Window
If the issue continues, disable recently added extensions and test again.
Related Documentationโ
- Required Software
- Node.js and npm
- Git Installation
- GitHub CLI
- Git Standards
- Branch Strategy
- GitHub Organization
- Cloudflare Deployment
- Troubleshooting