A centralized repository for development tools, configurations, and utilities that standardize and streamline the development workflow across all VV projects.
This repository contains shared development resources including:
- VSCode workspace configurations
- Automation scripts
- Shared configurations (linting, formatting)
- Templates and boilerplates
- Development workflow documentation
vv-dev-tools/
├── workspaces/ # VSCode workspace files
│ ├── vv-projects.code-workspace # Main multi-root workspace
│ └── individual project workspaces...
├── scripts/ # Shared utility scripts
│ ├── setup/ # Environment setup scripts
│ ├── build/ # Build automation scripts
│ └── utils/ # Utility scripts
├── configs/ # Shared configurations
│ ├── eslint/ # Linting configurations
│ ├── prettier/ # Code formatting configurations
│ └── git/ # Git configurations
├── templates/ # Project templates and boilerplates
└── docs/ # Documentation for development workflow
- Git
- Visual Studio Code
- Node.js (for JavaScript/TypeScript projects)
- Clone this repository alongside your project repositories:
# Navigate to your main development directory
cd your-main-directory
# Clone this repository
git clone https://github.com/your-org/vv-dev-tools.git
# Ensure your project repositories are cloned at the same level
# Example directory structure:
# your-main-directory/
# ├── vv-dev-tools/
# ├── w-chain-services/
# ├── w-docs/
# ├── w-game-suite/
# ├── w-iac/
# └── w-landing/
- Install the
vv
command utility:
For Unix-based systems (Linux, macOS):
cd your-main-directory
./vv-dev-tools/scripts/setup/install-vv-command.sh
For Windows:
cd your-main-directory
.\vv-dev-tools\scripts\setup\Install-VvCommand.ps1
# Restart PowerShell or run:
. $PROFILE
The vv
command provides a convenient way to work with VV projects.
vv # Opens the main multi-root workspace
vv chain # Opens w-chain-services workspace
vv docs # Opens w-docs workspace
vv game # Opens w-game-suite workspace
vv iac # Opens w-iac workspace
vv landing # Opens w-landing workspace
vv config dev-dir # Show current development directory
vv config dev-dir /path/to/dev # Set development directory
vv config list # List all available scripts and workspaces
You can add your own scripts to the vv
command:
For Unix-based systems:
# Add a script
vv script add build-all /path/to/build-all.sh
# Run the script
vv build-all
For Windows:
# Add a script
vv script add build-all C:\path\to\build-all.ps1
# Run the script
vv build-all
Common commands:
# List all available scripts
vv script list
# Remove a script
vv script remove build-all
vv help # Show help and list all available commands
- Multi-root workspace: Opens all projects for cross-project development
- Individual workspaces: Focus on a specific project with optimized settings
Run scripts from the command line:
# Example: Setup script
./vv-dev-tools/scripts/setup/install-dependencies.sh # Unix
.\vv-dev-tools\scripts\setup\Install-Dependencies.ps1 # Windows
# Example: Build script
./vv-dev-tools/scripts/build/build-all.sh # Unix
.\vv-dev-tools\scripts\build\Build-All.ps1 # Windows
# Or use the vv command for registered scripts
vv build-all # Works on both Unix and Windows
Apply shared configurations to your projects by referencing them or copying them to your project.
Example for ESLint:
// In your project's .eslintrc.js
module.exports = {
extends: [
'../vv-dev-tools/configs/eslint/.eslintrc.js',
// Your project-specific overrides...
],
};
Copy templates as starting points for new components or projects:
# Unix example
cp -r ./vv-dev-tools/templates/component-templates/basic-component ./your-project/src/components/new-component
# Windows example
Copy-Item -Recurse .\vv-dev-tools\templates\component-templates\basic-component .\your-project\src\components\new-component
- Create a branch:
git checkout -b feature/your-feature-name
- Make your changes
- Submit a pull request
Please follow our coding standards and update documentation as necessary.
This repository is maintained by the VV development team. For questions or suggestions, please contact [team lead contact information].
[Appropriate license information]