Skip to content

Commit 489c2a6

Browse files
Populate DevOps Visions guidance documents with content
1 parent 8dc70fd commit 489c2a6

6 files changed

Lines changed: 478 additions & 0 deletions

File tree

CONTRIBUTING.md

Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
# Contributing to Elmentor Landing Page
2+
3+
Thank you for your interest in contributing to the Elmentor Landing Page project! This document outlines the process and guidelines for contributing to this repository.
4+
5+
## 🚨 CRITICAL WEBSITE PROTECTION NOTICE 🚨
6+
7+
**This repository contains the live GitHub Pages website serving as the landing page for our community. The following files/directories are STRICTLY OFF-LIMITS for modification:**
8+
9+
- \src/\ directory (website source code)
10+
- \public/\ directory (static assets)
11+
- \ ite.config.ts\ (build configuration)
12+
- \package.json\ and \package-lock.json\ (dependencies)
13+
- \.github/workflows/deploy.yml\ (deployment configuration)
14+
15+
**Any contribution that modifies these protected files will be rejected unless explicitly approved by maintainers and thoroughly tested.**
16+
17+
## How to Contribute
18+
19+
### Issues
20+
21+
1. **Search** existing issues to avoid creating duplicates.
22+
2. **Create an issue** for bugs, feature requests, or documentation improvements.
23+
3. **Use the appropriate template** when creating issues.
24+
4. **Label your issues** correctly to help with organization.
25+
26+
### Pull Requests
27+
28+
#### For Documentation, Templates, and Non-Website Changes
29+
30+
1. **Fork the repository** and create a branch from \main\ with an appropriate name:
31+
- \ eature/description\ for features
32+
- \ugfix/description\ for bug fixes
33+
- \docs/description\ for documentation
34+
- \efactor/description\ for code refactoring
35+
36+
2. **Make your changes** following coding standards and conventions.
37+
38+
3. **Test your changes** thoroughly.
39+
40+
4. **Submit a pull request** using the appropriate template:
41+
- Include a clear title and description
42+
- Reference any related issues
43+
- Complete the website safety checklist
44+
- Request review from appropriate reviewers
45+
46+
#### For Website Changes (Rare, Requires Special Approval)
47+
48+
1. **First create an issue** detailing why website changes are necessary.
49+
50+
2. **Get maintainer approval** before proceeding.
51+
52+
3. **Create a separate development branch** specifically for website changes.
53+
54+
4. **Test thoroughly** in a local environment.
55+
56+
5. **Submit a pull request** using the website changes template:
57+
- Provide detailed explanation of changes
58+
- Include before/after screenshots
59+
- Document thorough testing performed
60+
- Include a rollback plan
61+
- Request reviews from at least two maintainers
62+
63+
## Development Process
64+
65+
### Setting Up Your Environment
66+
67+
1. Clone the repository:
68+
`ash
69+
git clone https://github.com/DevOpsVisions/elmentor-landing-page-clean.git
70+
cd elmentor-landing-page-clean
71+
`
72+
73+
2. Install dependencies:
74+
`ash
75+
npm install
76+
`
77+
78+
3. Start the development server:
79+
`ash
80+
npm run dev
81+
`
82+
83+
### Testing
84+
85+
- Test all changes locally before submitting PRs
86+
- For website changes, verify on multiple browsers and devices
87+
- Ensure all existing functionality works correctly
88+
89+
## Style Guide
90+
91+
Please follow the DevOps Visions standards and conventions as outlined in:
92+
- [Standards and Conventions](docs/devops-visions-guidance/standards-and-conventions.md)
93+
- [Naming Conventions](docs/devops-visions-guidance/naming-conventions.md)
94+
- [Repository Structure](docs/devops-visions-guidance/repository-structure.md)
95+
96+
## Code of Conduct
97+
98+
Please read our [Code of Conduct](CODE_OF_CONDUCT.md) before contributing to this project.
99+
100+
## Questions?
101+
102+
If you have questions or need help, please:
103+
1. Check the documentation in the \docs\ directory
104+
2. Open an issue with the question template
105+
3. Contact the maintainers through the DevOps Visions community channels
106+
107+
Thank you for contributing to the Elmentor Landing Page project!
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# DevOps Visions Guidance Documentation
2+
3+
This directory contains reference documentation for DevOps Visions standards and practices. These documents are sourced from the [DevOps Visions common-workspace-hub](https://github.com/DevOpsVisions/common-workspace-hub/tree/main/docs/standards-and-practices) and adapted for the Elmentor Landing Page repository.
4+
5+
## Important Note on Website Content
6+
7+
**The guidance in these documents DOES NOT supersede the critical requirement to preserve the website functionality and content in the \src/\, \public/\, build configuration, and deployment scripts.**
8+
9+
## Included Documentation
10+
11+
- [Standards and Conventions](standards-and-conventions.md) - Coding standards, naming conventions, and best practices
12+
- [Repository Structure](repository-structure.md) - Structure and organization of DevOps Visions repositories
13+
- [Naming Conventions](naming-conventions.md) - File, branch, and commit naming conventions
14+
- [Review Process](review-process.md) - Guidelines for reviewing and merging code
15+
16+
## Attribution
17+
18+
These documents are based on DevOps Visions standards found at:
19+
https://github.com/DevOpsVisions/common-workspace-hub/tree/main/docs/standards-and-practices
20+
21+
The content has been adapted specifically for the Elmentor Landing Page repository with special considerations for preserving website functionality.
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
# Naming Conventions
2+
3+
This document outlines the standard naming conventions for DevOps Visions projects.
4+
5+
## File and Directory Naming
6+
7+
### General Guidelines
8+
9+
- Use lowercase for all filenames (except when conventions dictate otherwise)
10+
- Use hyphens (\-\) to separate words in filenames
11+
- Be descriptive but concise
12+
- Use standard extensions appropriate to the file type
13+
14+
### Special Cases
15+
16+
- React components: PascalCase (e.g., \UserProfile.tsx\)
17+
- Configuration files: Use standard naming with appropriate prefixes (e.g., \.eslintrc.js\)
18+
- Documentation: Use markdown (\.md\) with descriptive names
19+
- Test files: Name should match the file being tested with \.test\ or \.spec\ suffix
20+
21+
## Code Naming
22+
23+
### Variables and Functions
24+
25+
- Use camelCase for variables and functions
26+
- Use descriptive, meaningful names
27+
- Avoid abbreviations unless they are common and well-understood
28+
- Boolean variables should be prefixed with \is\, \has\, \should\, etc.
29+
30+
Examples:
31+
` ypescript
32+
const userData = fetchUserData();
33+
function calculateTotalPrice() { /* ... */ }
34+
const isUserLoggedIn = true;
35+
`
36+
37+
### Classes and Interfaces
38+
39+
- Use PascalCase for classes, interfaces, types, and enums
40+
- Classes should be nouns or noun phrases
41+
- Interfaces should be nouns, noun phrases, or adjectives
42+
43+
Examples:
44+
` ypescript
45+
class UserRepository { /* ... */ }
46+
interface ApiResponse { /* ... */ }
47+
type UserData = { /* ... */ };
48+
enum ConnectionStatus { /* ... */ }
49+
`
50+
51+
### Constants
52+
53+
- Use UPPER_SNAKE_CASE for constants and environment variables
54+
- Exception: When using TypeScript, enum values may follow the parent enum's conventions
55+
56+
Examples:
57+
` ypescript
58+
const MAX_RETRY_ATTEMPTS = 3;
59+
const API_BASE_URL = 'https://api.example.com';
60+
`
61+
62+
## Git Branch Naming
63+
64+
- Use lowercase and hyphens
65+
- Include a prefix that describes the type of work
66+
- Be descriptive but concise
67+
68+
Examples:
69+
`
70+
feature/user-authentication
71+
bugfix/login-validation
72+
refactor/api-client
73+
hotfix/security-vulnerability
74+
release/v1.2.0
75+
`
76+
77+
## Pull Request Naming
78+
79+
- Be descriptive and concise
80+
- Reference issue numbers when applicable
81+
- Include type of change (feature, bugfix, etc.)
82+
83+
Examples:
84+
`
85+
Feature: Add user authentication system (#42)
86+
Fix: Correct validation in login form (#56)
87+
Refactor: Improve API client performance
88+
`
89+
90+
## Special Guidelines for Elmentor Landing Page
91+
92+
To maintain compatibility with the website functionality:
93+
94+
- Do not rename any files in the \src/\ directory
95+
- Do not rename any files in the \public/\ directory
96+
- Do not modify build configuration file names
97+
- Do not rename deployment scripts
98+
99+
When adding new documentation or support files, follow these naming conventions while ensuring no disruption to the existing website functionality.
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# Repository Structure
2+
3+
This document outlines the standard repository structure for DevOps Visions projects.
4+
5+
## Basic Structure
6+
7+
`
8+
repository-name/
9+
├── .github/ # GitHub specific configuration
10+
│ ├── ISSUE_TEMPLATE/ # Issue templates
11+
│ ├── PULL_REQUEST_TEMPLATE/ # PR templates
12+
│ └── workflows/ # GitHub Actions workflow definitions
13+
├── docs/ # Documentation files
14+
│ ├── api/ # API documentation (if applicable)
15+
│ ├── development/ # Developer documentation
16+
│ └── user/ # End-user documentation
17+
├── src/ # Source code
18+
├── tests/ # Test files
19+
├── .gitignore # Git ignore file
20+
├── README.md # Repository overview and quick start
21+
├── CONTRIBUTING.md # Contribution guidelines
22+
├── CODE_OF_CONDUCT.md # Code of conduct
23+
├── SECURITY.md # Security policy
24+
└── LICENSE # License file
25+
`
26+
27+
## Special Structure for Elmentor Landing Page
28+
29+
The Elmentor Landing Page has a specific structure that **must be preserved**:
30+
31+
`
32+
elmentor-landing-page-clean/
33+
├── dist/ # Build output
34+
├── docs/ # Documentation
35+
│ ├── deployment/ # Deployment documentation
36+
│ ├── development/ # Development guides
37+
│ └── devops-visions-guidance/ # DevOps Visions standards
38+
├── public/ # Static assets [DO NOT MODIFY]
39+
├── scripts/ # Utility scripts
40+
│ ├── deployment/ # Deployment scripts [DO NOT MODIFY]
41+
│ ├── maintenance/ # Maintenance scripts
42+
│ └── utils/ # Utility scripts
43+
├── .github/ # GitHub templates and workflows
44+
├── .temp/ # Untracked local development files
45+
└── src/ # Source code [DO NOT MODIFY]
46+
`
47+
48+
## Documentation Structure
49+
50+
Each repository should include comprehensive documentation:
51+
52+
- \README.md\ - Overview, getting started, basic usage
53+
- \CONTRIBUTING.md\ - Guidelines for contributing to the project
54+
- \CODE_OF_CONDUCT.md\ - Community behavioral expectations
55+
- \SECURITY.md\ - Security policies and vulnerability reporting
56+
- \docs/\ - Detailed documentation organized by topic
57+
58+
## Configuration Files
59+
60+
Standard configuration files include:
61+
62+
- \.gitignore\ - Patterns for files to ignore in Git
63+
- \.editorconfig\ - Editor configuration for consistent formatting
64+
- CI/CD configuration appropriate to the project
65+
- Linting and formatting configuration files
66+
67+
## Critical Note for Elmentor Landing Page
68+
69+
The Elmentor Landing Page repository structure serves a working GitHub Pages website. Any restructuring or organization improvements **must not** interfere with the functionality or contents of:
70+
71+
- \src/\ directory (website source code)
72+
- \public/\ directory (static assets)
73+
- Build configuration files
74+
- Deployment scripts
75+
76+
All structural changes must support and enhance the repository organization while preserving the website's functionality.

0 commit comments

Comments
 (0)