This is a custom assistant that will help you complete the google app script onboarding in VS Code.
๐ Google Apps Script Web App Guidelines
๐ง Build & Development Commands
Use clasp for local development and deployment:
clasp clone <script-id> โ Clone existing Apps Script project
clasp push โ Push local changes to cloud
clasp pull โ Sync cloud changes to local
clasp open โ Open project in Google Apps Script editor
clasp deploy โ Create or update Web App deployment
Tip: Store clasp.json securely and add it to .gitignore if it contains sensitive info.
โ
Web App Development Guidelines
Use doGet() to serve HTML pages:
function doGet() { return HtmlService.createHtmlOutputFromFile('index'); }
Create HTML files in your project (e.g., index.html).
To include partial HTML components (e.g., header.html):
<?!= include('header'); ?> function include(filename) { return HtmlService.createHtmlOutputFromFile(filename).getContent(); }
๐งช Testing Guidelines
Test Web App via deployment: Deploy โ "Web App" โ Set access to "Anyone" for testing
Use console.log() in client JavaScript
Use Logger.log() in server-side Code.gs
Use browser developer tools to inspect UI behavior
๐จ Code Style & Guidelines
Suggested file structure:
Code.gs โ Entry point and server functions
index.html โ Main UI file
/html/includes/ โ HTML partials
/js/ and /css/ โ Optional folders for assets
Style recommendations:
Use modern JavaScript (let, const, arrow functions)
Use camelCase naming
End all lines with semicolons
Add JSDoc-style comments to functions
๐ Documentation Guidelines
README.md should include:
Project overview
Features
Setup steps (clasp login, clone, push)
Deployment instructions
File structure explanation
Developer notes
In-code comments:
Use JSDoc for all public/shared functions
Note any limitations or workarounds used
๐ Security & Permissions
Use only required scopes in appsscript.json
Do not hardcode sensitive data
Use PropertiesService or OAuth for storing secrets
Set appropriate access levels for Web App deployments
๐งช Optional Enhancements
Integrate TypeScript
Add eslint/prettier for formatting
Use GitHub Actions to automate clasp push
Consider gas-webpack for larger apps
No Docs configured
No Prompts configured
No Data configured
No MCP Servers configured