AGENTS.md
translations/en/AGENTS.mdAGENTS.md
Quality
88/100
Scores the file, not the repository.Length
1,704 words
59 headings · 12 code blocksRepository
96k
— · pushed 3 days agoLast changed
3 days ago
First indexed 3 days ago.1# AGENTS.md23## Project Overview45This is an educational curriculum repository for teaching web development fundamentals to beginners. The curriculum is a comprehensive 12-week course developed by Microsoft Cloud Advocates, featuring 24 hands-on lessons covering JavaScript, CSS, and HTML.67### Key Components89- **Educational Content**: 24 structured lessons organized into project-based modules10- **Practical Projects**: Terrarium, Typing Game, Browser Extension, Space Game, Banking App, Code Editor, and AI Chat Assistant11- **Interactive Quizzes**: 48 quizzes with 3 questions each (pre/post-lesson assessments)12- **Multi-language Support**: Automated translations for 50+ languages via GitHub Actions13- **Technologies**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (for AI projects)1415### Architecture1617- Educational repository with lesson-based structure18- Each lesson folder contains README, code examples, and solutions19- Standalone projects in separate directories (quiz-app, various lesson projects)20- Translation system using GitHub Actions (co-op-translator)21- Documentation served via Docsify and available as PDF2223## Setup Commands2425This repository is primarily for educational content consumption. For working with specific projects:2627### Main Repository Setup2829```bash30git clone https://github.com/microsoft/Web-Dev-For-Beginners.git31cd Web-Dev-For-Beginners32```3334### Quiz App Setup (Vue 3 + Vite)3536```bash37cd quiz-app38npm install39npm run dev # Start development server40npm run build # Build for production41npm run lint # Run ESLint42```4344### Bank Project API (Node.js + Express)4546```bash47cd 7-bank-project/api48npm install49npm start # Start API server50npm run lint # Run ESLint51npm run format # Format with Prettier52```5354### Browser Extension Projects5556```bash57cd 5-browser-extension/solution58npm install59# Follow browser-specific extension loading instructions60```6162### Space Game Projects6364```bash65cd 6-space-game/solution66npm install67# Open index.html in browser or use Live Server68```6970### Chat Project (Python Backend)7172```bash73cd 9-chat-project/solution/backend/python74pip install openai75# Set GITHUB_TOKEN environment variable76python api.py77```7879## Development Workflow8081### For Content Contributors82831. **Fork the repository** to your GitHub account842. **Clone your fork** locally853. **Create a new branch** for your changes864. Make changes to lesson content or code examples875. Test any code changes in relevant project directories886. Submit pull requests following contribution guidelines8990### For Learners91921. Fork or clone the repository932. Navigate to lesson directories sequentially943. Read README files for each lesson954. Complete pre-lesson quizzes at https://ff-quizzes.netlify.app/web/965. Work through code examples in lesson folders976. Complete assignments and challenges987. Take post-lesson quizzes99100### Live Development101102- **Documentation**: Run `docsify serve` in root (port 3000)103- **Quiz App**: Run `npm run dev` in quiz-app directory104- **Projects**: Use VS Code Live Server extension for HTML projects105- **API Projects**: Run `npm start` in respective API directories106107## Testing Instructions108109### Quiz App Testing110111```bash112cd quiz-app113npm run lint # Check for code style issues114npm run build # Verify build succeeds115```116117### Bank API Testing118119```bash120cd 7-bank-project/api121npm run lint # Check for code style issues122node server.js # Verify server starts without errors123```124125### General Testing Approach126127- This is an educational repository without comprehensive automated tests128- Manual testing focuses on:129 - Code examples run without errors130 - Links in documentation work correctly131 - Project builds complete successfully132 - Examples follow best practices133134### Pre-submission Checks135136- Run `npm run lint` in directories with package.json137- Verify markdown links are valid138- Test code examples in browser or Node.js139- Check that translations maintain proper structure140141## Code Style Guidelines142143### JavaScript144145- Use modern ES6+ syntax146- Follow standard ESLint configurations provided in projects147- Use meaningful variable and function names for educational clarity148- Add comments explaining concepts for learners149- Format using Prettier where configured150151### HTML/CSS152153- Semantic HTML5 elements154- Responsive design principles155- Clear class naming conventions156- Comments explaining CSS techniques for learners157158### Python159160- PEP 8 style guidelines161- Clear, educational code examples162- Type hints where helpful for learning163164### Markdown Documentation165166- Clear heading hierarchy167- Code blocks with language specification168- Links to additional resources169- Screenshots and images in `images/` directories170- Alt text for images for accessibility171172### File Organization173174- Lessons numbered sequentially (1-getting-started-lessons, 2-js-basics, etc.)175- Each project has `solution/` and often `start/` or `your-work/` directories176- Images stored in lesson-specific `images/` folders177- Translations in `translations/{language-code}/` structure178179## Build and Deployment180181### Quiz App Deployment (Azure Static Web Apps)182183The quiz-app is configured for Azure Static Web Apps deployment:184185```bash186cd quiz-app187npm run build # Creates dist/ folder188# Deploys via GitHub Actions workflow on push to main189```190191Azure Static Web Apps configuration:192- **App location**: `/quiz-app`193- **Output location**: `dist`194- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`195196### Documentation PDF Generation197198```bash199npm install # Install docsify-to-pdf200npm run convert # Generate PDF from docs201```202203### Docsify Documentation204205```bash206npm install -g docsify-cli # Install Docsify globally207docsify serve # Serve on localhost:3000208```209210### Project-specific Builds211212Each project directory may have its own build process:213- Vue projects: `npm run build` creates production bundles214- Static projects: No build step, serve files directly215216## Pull Request Guidelines217218### Title Format219220Use clear, descriptive titles indicating the area of change:221- `[Quiz-app] Add new quiz for lesson X`222- `[Lesson-3] Fix typo in terrarium project`223- `[Translation] Add Spanish translation for lesson 5`224- `[Docs] Update setup instructions`225226### Required Checks227228Before submitting a PR:2292301. **Code Quality**:231 - Run `npm run lint` in affected project directories232 - Fix all linting errors and warnings2332342. **Build Verification**:235 - Run `npm run build` if applicable236 - Ensure no build errors2372383. **Link Validation**:239 - Test all markdown links240 - Verify image references work2412424. **Content Review**:243 - Proofread for spelling and grammar244 - Ensure code examples are correct and educational245 - Verify translations maintain original meaning246247### Contribution Requirements248249- Agree to Microsoft CLA (automated check on first PR)250- Follow the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)251- See [CONTRIBUTING.md](./CONTRIBUTING.md) for detailed guidelines252- Reference issue numbers in PR description if applicable253254### Review Process255256- PRs reviewed by maintainers and community257- Educational clarity is prioritized258- Code examples should follow current best practices259- Translations reviewed for accuracy and cultural appropriateness260261## Translation System262263### Automated Translation264265- Uses GitHub Actions with co-op-translator workflow266- Translates to 50+ languages automatically267- Source files in main directories268- Translated files in `translations/{language-code}/` directories269270### Adding Manual Translation Improvements2712721. Locate file in `translations/{language-code}/`2732. Make improvements while preserving structure2743. Ensure code examples remain functional2754. Test any localized quiz content276277### Translation Metadata278279Translated files include metadata header:280```markdown281<!--282CO_OP_TRANSLATOR_METADATA:283{284 "original_hash": "...",285 "translation_date": "...",286 "source_file": "...",287 "language_code": "..."288}289-->290```291292## Debugging and Troubleshooting293294### Common Issues295296**Quiz app fails to start**:297- Check Node.js version (v14+ recommended)298- Delete `node_modules` and `package-lock.json`, run `npm install` again299- Check for port conflicts (default: Vite uses port 5173)300301**API server won't start**:302- Verify Node.js version meets minimum (node >=10)303- Check if port is already in use304- Ensure all dependencies installed with `npm install`305306**Browser extension won't load**:307- Verify manifest.json is properly formatted308- Check browser console for errors309- Follow browser-specific extension installation instructions310311**Python chat project issues**:312- Ensure OpenAI package installed: `pip install openai`313- Verify GITHUB_TOKEN environment variable is set314- Check GitHub Models access permissions315316**Docsify not serving docs**:317- Install docsify-cli globally: `npm install -g docsify-cli`318- Run from repository root directory319- Check that `docs/_sidebar.md` exists320321### Development Environment Tips322323- Use VS Code with Live Server extension for HTML projects324- Install ESLint and Prettier extensions for consistent formatting325- Use browser DevTools for debugging JavaScript326- For Vue projects, install Vue DevTools browser extension327328### Performance Considerations329330- Large number of translated files (50+ languages) means full clones are large331- Use shallow clone if only working on content: `git clone --depth 1`332- Exclude translations from searches when working on English content333- Build processes may be slow on first run (npm install, Vite build)334335## Security Considerations336337### Environment Variables338339- API keys should never be committed to repository340- Use `.env` files (already in `.gitignore`)341- Document required environment variables in project READMEs342343### Python Projects344345- Use virtual environments: `python -m venv venv`346- Keep dependencies updated347- GitHub tokens should have minimal required permissions348349### GitHub Models Access350351- Personal Access Tokens (PAT) required for GitHub Models352- Tokens should be stored as environment variables353- Never commit tokens or credentials354355## Additional Notes356357### Target Audience358359- Complete beginners to web development360- Students and self-learners361- Teachers using the curriculum in classrooms362- Content is designed for accessibility and gradual skill building363364### Educational Philosophy365366- Project-based learning approach367- Frequent knowledge checks (quizzes)368- Hands-on coding exercises369- Real-world application examples370- Focus on fundamentals before frameworks371372### Repository Maintenance373374- Active community of learners and contributors375- Regular updates to dependencies and content376- Issues and discussions monitored by maintainers377- Translation updates automated via GitHub Actions378379### Related Resources380381- [Microsoft Learn modules](https://docs.microsoft.com/learn/)382- [Student Hub resources](https://docs.microsoft.com/learn/student-hub/)383- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) recommended for learners384- Additional courses: Generative AI, Data Science, ML, IoT curricula available385386### Working with Specific Projects387388For detailed instructions on individual projects, refer to the README files in:389- `quiz-app/README.md` - Vue 3 quiz application390- `7-bank-project/README.md` - Banking application with authentication391- `5-browser-extension/README.md` - Browser extension development392- `6-space-game/README.md` - Canvas-based game development393- `9-chat-project/README.md` - AI chat assistant project394395### Monorepo Structure396397While not a traditional monorepo, this repository contains multiple independent projects:398- Each lesson is self-contained399- Projects don't share dependencies400- Work on individual projects without affecting others401- Clone entire repo for the full curriculum experience402403---404405<!-- CO-OP TRANSLATOR DISCLAIMER START -->406**Disclaimer**:407This document has been translated using AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). While we strive for accuracy, please be aware that automated translations may contain errors or inaccuracies. The original document in its native language should be considered the authoritative source. For critical information, professional human translation is recommended. We are not liable for any misunderstandings or misinterpretations arising from the use of this translation.408<!-- CO-OP TRANSLATOR DISCLAIMER END -->
Also in microsoft/Web-Dev-For-Beginners
Diff this repo’s formatsOne repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| microsoft/Web-Dev-For-Beginnerstranslations/zh-TW/AGENTS.md · 96k | AGENTS.md | setupbuildlint-formatgit+3 | 82/100 | 3 days ago | |
| microsoft/Web-Dev-For-BeginnersAGENTS.md · 96k | AGENTS.md | setupbuildtestlint-format+11 | 88/100 | 3 days ago | |
| microsoft/Web-Dev-For-Beginnerstranslations/hi/AGENTS.md · 96k | AGENTS.md | setupbuildlint-formatapi+1 | 74/100 | 3 days ago | |
| microsoft/Web-Dev-For-Beginnerstranslations/km/AGENTS.md · 96k | AGENTS.md | setupbuildlint-formatgit+3 | 82/100 | 3 days ago | |
| microsoft/Web-Dev-For-Beginnerstranslations/zh-HK/AGENTS.md · 96k | AGENTS.md | setupbuildtestlint-format+10 | 89/100 | 3 days ago | |
| microsoft/Web-Dev-For-Beginnerstranslations/kn/AGENTS.md · 96k | AGENTS.md | setupbuildlint-formatapi+1 | 74/100 | 3 days ago | |
| microsoft/Web-Dev-For-Beginnerstranslations/ko/AGENTS.md · 96k | AGENTS.md | setupbuildlint-formatapi+1 | 74/100 | 3 days ago | |
| microsoft/Web-Dev-For-Beginnerstranslations/lt/AGENTS.md · 96k | AGENTS.md | setupbuildtestlint-format+4 | 78/100 | 3 days ago | |
| microsoft/Web-Dev-For-Beginnerstranslations/ml/AGENTS.md · 96k | AGENTS.md | setupbuildlint-formatapi+2 | 74/100 | 3 days ago | |
| microsoft/Web-Dev-For-Beginnerstranslations/ar/AGENTS.md · 96k | AGENTS.md | setupbuildlint-formatapi+2 | 74/100 | 3 days ago | |
| microsoft/Web-Dev-For-Beginnerstranslations/bg/AGENTS.md · 96k | AGENTS.md | setupbuildlint-formatgit+3 | 74/100 | 3 days ago | |
| microsoft/Web-Dev-For-Beginnerstranslations/bn/AGENTS.md · 96k | AGENTS.md | setupbuildlint-formatapi+1 | 74/100 | 3 days ago | |
| microsoft/Web-Dev-For-Beginnerstranslations/cs/AGENTS.md · 96k | AGENTS.md | setupbuildlint-formatgit+3 | 74/100 | 3 days ago | |
| microsoft/Web-Dev-For-Beginnerstranslations/da/AGENTS.md · 96k | AGENTS.md | setupbuildtestlint-format+5 | 78/100 | 3 days ago | |
| microsoft/Web-Dev-For-Beginnerstranslations/de/AGENTS.md · 96k | AGENTS.md | setupbuildlint-formatstyle+6 | 78/100 | 3 days ago | |
| microsoft/Web-Dev-For-Beginnerstranslations/el/AGENTS.md · 96k | AGENTS.md | setupbuildlint-formatgit+3 | 74/100 | 3 days ago | |
| microsoft/Web-Dev-For-Beginnerstranslations/es/AGENTS.md · 96k | AGENTS.md | setupbuildlint-formatgit+3 | 74/100 | 3 days ago | |
| microsoft/Web-Dev-For-Beginnerstranslations/et/AGENTS.md · 96k | AGENTS.md | setupbuildlint-formatgit+3 | 74/100 | 3 days ago | |
| microsoft/Web-Dev-For-Beginnerstranslations/fa/AGENTS.md · 96k | AGENTS.md | setupbuildlint-formatgit+2 | 74/100 | 3 days ago | |
| microsoft/Web-Dev-For-Beginnerstranslations/fi/AGENTS.md · 96k | AGENTS.md | setupbuildlint-formatgit+3 | 74/100 | 3 days ago |
Diff against translations/zh-TW/AGENTS.md Diff against AGENTS.md Diff against translations/hi/AGENTS.md Diff against translations/km/AGENTS.md Diff against translations/zh-HK/AGENTS.md Diff against translations/kn/AGENTS.md Diff against translations/ko/AGENTS.md Diff against translations/lt/AGENTS.md Diff against translations/ml/AGENTS.md Diff against translations/ar/AGENTS.md Diff against translations/bg/AGENTS.md Diff against translations/bn/AGENTS.md Diff against translations/cs/AGENTS.md Diff against translations/da/AGENTS.md Diff against translations/de/AGENTS.md Diff against translations/el/AGENTS.md Diff against translations/es/AGENTS.md Diff against translations/et/AGENTS.md Diff against translations/fa/AGENTS.md Diff against translations/fi/AGENTS.md
Similar configs
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| OnlyTerp/prompt-cache-skillsAGENTS.md · 112 | AGENTS.md | setupbuildtestlint-format+5 | 100/100 | 3 days ago | |
| n8n-io/n8npackages/@n8n/agents/AGENTS.md · 199k | AGENTS.md | buildteststylearch+3 | 100/100 | 3 days ago | |
| duckduckgo/content-scope-scriptsspecial-pages/AGENTS.md · 70 | AGENTS.md | buildteststylearch+3 | 100/100 | 3 days ago | |
| wpscanteam/wpscanAGENTS.md · 9.7k | AGENTS.md | setupbuildteststyle+6 | 100/100 | 2 days ago | |
| SkeneTechnologies/skene-cookbookAGENTS.md · 51 | AGENTS.md | setupbuildtestlint-format+7 | 100/100 | 2 days ago | |
| mui/material-uiAGENTS.md · 99k | AGENTS.md | setupbuildtestlint-format+9 | 100/100 | 3 days ago | |
| trick77/agents-md-syncAGENTS.md · 2 | AGENTS.md | setupbuildteststyle+5 | 100/100 | 3 days ago | |
| aaif-goose/gooseAGENTS.md · 52k | AGENTS.md | setupbuildtestlint-format+6 | 100/100 | 3 days ago |
