## ADDED Requirements ### Requirement: Project Root .gitignore File The project SHALL include a `.gitignore` file at its root directory. #### Scenario: .gitignore file existence - **WHEN** the project repository is initialized or cloned - **THEN** a `.gitignore` file SHALL be present in the root directory. ### Requirement: Ignore Node.js Dependencies The `.gitignore` file SHALL include patterns to ignore Node.js dependency directories and related build artifacts. #### Scenario: Node.js project files - **WHEN** a Node.js project is being developed - **THEN** `node_modules/` SHALL be ignored. - **AND** `npm-debug.log` SHALL be ignored. - **AND** `build/` directories within Node.js projects SHALL be ignored. - **AND** `dist/` directories within Node.js projects SHALL be ignored. ### Requirement: Ignore OS and IDE Specific Files The `.gitignore` file SHALL include patterns to ignore operating system and integrated development environment (IDE) specific files. #### Scenario: OS and IDE generated files - **WHEN** development is performed on various operating systems or IDEs - **THEN** `.DS_Store` SHALL be ignored. - **AND** `Thumbs.db` SHALL be ignored. - **AND** `.vscode/` directory SHALL be ignored. - **AND** `.idea/` directory SHALL be ignored. - **AND** `*.swp` files SHALL be ignored. ### Requirement: Ignore Project-Specific Build Artifacts and Logs The `.gitignore` file SHALL include patterns to ignore project-specific build output directories and log files. #### Scenario: Project build and log files - **WHEN** the frontend or backend services are built - **THEN** `frontend/build/` SHALL be ignored. - **AND** `backend/build/` SHALL be ignored. - **AND** `*.log` files SHALL be ignored. - **AND** `.env` files SHALL be ignored.