@mytechtoday/augment-extensions 0.2.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +614 -39
- package/augment-extensions/coding-standards/bash/README.md +196 -0
- package/augment-extensions/coding-standards/bash/module.json +163 -0
- package/augment-extensions/coding-standards/bash/rules/naming-conventions.md +336 -0
- package/augment-extensions/coding-standards/bash/rules/universal-standards.md +289 -0
- package/augment-extensions/coding-standards/css/README.md +40 -0
- package/augment-extensions/coding-standards/css/examples/css-examples.css +550 -0
- package/augment-extensions/coding-standards/css/module.json +44 -0
- package/augment-extensions/coding-standards/css/rules/css-modern-features.md +448 -0
- package/augment-extensions/coding-standards/css/rules/css-standards.md +492 -0
- package/augment-extensions/coding-standards/html/README.md +40 -0
- package/augment-extensions/coding-standards/html/examples/html-examples.html +267 -0
- package/augment-extensions/coding-standards/html/examples/responsive-layout.html +505 -0
- package/augment-extensions/coding-standards/html/module.json +44 -0
- package/augment-extensions/coding-standards/html/rules/html-standards.md +349 -0
- package/augment-extensions/coding-standards/html-css-js/README.md +194 -0
- package/augment-extensions/coding-standards/html-css-js/examples/async-examples.js +487 -0
- package/augment-extensions/coding-standards/html-css-js/examples/css-examples.css +550 -0
- package/augment-extensions/coding-standards/html-css-js/examples/dom-examples.js +667 -0
- package/augment-extensions/coding-standards/html-css-js/examples/html-examples.html +267 -0
- package/augment-extensions/coding-standards/html-css-js/examples/javascript-examples.js +612 -0
- package/augment-extensions/coding-standards/html-css-js/examples/responsive-layout.html +505 -0
- package/augment-extensions/coding-standards/html-css-js/module.json +48 -0
- package/augment-extensions/coding-standards/html-css-js/rules/async-patterns.md +515 -0
- package/augment-extensions/coding-standards/html-css-js/rules/css-modern-features.md +448 -0
- package/augment-extensions/coding-standards/html-css-js/rules/css-standards.md +492 -0
- package/augment-extensions/coding-standards/html-css-js/rules/dom-manipulation.md +439 -0
- package/augment-extensions/coding-standards/html-css-js/rules/html-standards.md +349 -0
- package/augment-extensions/coding-standards/html-css-js/rules/javascript-standards.md +486 -0
- package/augment-extensions/coding-standards/html-css-js/rules/performance.md +463 -0
- package/augment-extensions/coding-standards/html-css-js/rules/tooling.md +543 -0
- package/augment-extensions/coding-standards/js/README.md +46 -0
- package/augment-extensions/coding-standards/js/examples/async-examples.js +487 -0
- package/augment-extensions/coding-standards/js/examples/dom-examples.js +667 -0
- package/augment-extensions/coding-standards/js/examples/javascript-examples.js +612 -0
- package/augment-extensions/coding-standards/js/module.json +49 -0
- package/augment-extensions/coding-standards/js/rules/async-patterns.md +515 -0
- package/augment-extensions/coding-standards/js/rules/dom-manipulation.md +439 -0
- package/augment-extensions/coding-standards/js/rules/javascript-standards.md +486 -0
- package/augment-extensions/coding-standards/js/rules/performance.md +463 -0
- package/augment-extensions/coding-standards/js/rules/tooling.md +543 -0
- package/augment-extensions/coding-standards/php/README.md +248 -0
- package/augment-extensions/coding-standards/php/examples/api-endpoint-example.php +204 -0
- package/augment-extensions/coding-standards/php/examples/cli-command-example.php +206 -0
- package/augment-extensions/coding-standards/php/examples/legacy-refactoring-example.php +234 -0
- package/augment-extensions/coding-standards/php/examples/web-application-example.php +211 -0
- package/augment-extensions/coding-standards/php/examples/woocommerce-extension-example.php +215 -0
- package/augment-extensions/coding-standards/php/examples/wordpress-plugin-example.php +189 -0
- package/augment-extensions/coding-standards/php/module.json +166 -0
- package/augment-extensions/coding-standards/php/rules/api-development.md +480 -0
- package/augment-extensions/coding-standards/php/rules/category-configuration.md +332 -0
- package/augment-extensions/coding-standards/php/rules/cli-tools.md +472 -0
- package/augment-extensions/coding-standards/php/rules/cms-integration.md +561 -0
- package/augment-extensions/coding-standards/php/rules/code-quality.md +402 -0
- package/augment-extensions/coding-standards/php/rules/documentation.md +425 -0
- package/augment-extensions/coding-standards/php/rules/ecommerce.md +627 -0
- package/augment-extensions/coding-standards/php/rules/error-handling.md +336 -0
- package/augment-extensions/coding-standards/php/rules/legacy-migration.md +677 -0
- package/augment-extensions/coding-standards/php/rules/naming-conventions.md +279 -0
- package/augment-extensions/coding-standards/php/rules/performance.md +392 -0
- package/augment-extensions/coding-standards/php/rules/psr-standards.md +186 -0
- package/augment-extensions/coding-standards/php/rules/security.md +358 -0
- package/augment-extensions/coding-standards/php/rules/testing.md +403 -0
- package/augment-extensions/coding-standards/php/rules/type-declarations.md +331 -0
- package/augment-extensions/coding-standards/php/rules/web-applications.md +426 -0
- package/augment-extensions/coding-standards/powershell/README.md +154 -0
- package/augment-extensions/coding-standards/powershell/examples/admin-example.ps1 +272 -0
- package/augment-extensions/coding-standards/powershell/examples/automation-example.ps1 +173 -0
- package/augment-extensions/coding-standards/powershell/examples/cloud-example.ps1 +243 -0
- package/augment-extensions/coding-standards/powershell/examples/cross-platform-example.ps1 +297 -0
- package/augment-extensions/coding-standards/powershell/examples/dsc-example.ps1 +224 -0
- package/augment-extensions/coding-standards/powershell/examples/legacy-migration-example.ps1 +340 -0
- package/augment-extensions/coding-standards/powershell/examples/module-example.psm1 +255 -0
- package/augment-extensions/coding-standards/powershell/module.json +165 -0
- package/augment-extensions/coding-standards/powershell/rules/administrative-tools.md +439 -0
- package/augment-extensions/coding-standards/powershell/rules/automation-scripts.md +240 -0
- package/augment-extensions/coding-standards/powershell/rules/cloud-orchestration.md +384 -0
- package/augment-extensions/coding-standards/powershell/rules/configuration-schema.md +383 -0
- package/augment-extensions/coding-standards/powershell/rules/cross-platform-scripts.md +482 -0
- package/augment-extensions/coding-standards/powershell/rules/dsc-configurations.md +296 -0
- package/augment-extensions/coding-standards/powershell/rules/error-handling.md +314 -0
- package/augment-extensions/coding-standards/powershell/rules/legacy-migrations.md +466 -0
- package/augment-extensions/coding-standards/powershell/rules/modules-functions.md +244 -0
- package/augment-extensions/coding-standards/powershell/rules/naming-conventions.md +266 -0
- package/augment-extensions/coding-standards/powershell/rules/performance-optimization.md +209 -0
- package/augment-extensions/coding-standards/powershell/rules/security-practices.md +314 -0
- package/augment-extensions/coding-standards/powershell/rules/testing-guidelines.md +268 -0
- package/augment-extensions/coding-standards/powershell/rules/universal-standards.md +197 -0
- package/augment-extensions/coding-standards/python/README.md +12 -8
- package/augment-extensions/coding-standards/python/examples/best-practices.py +373 -0
- package/augment-extensions/coding-standards/python/module.json +8 -4
- package/augment-extensions/coding-standards/python/rules/async-patterns.md +884 -0
- package/augment-extensions/coding-standards/python/rules/documentation.md +831 -0
- package/augment-extensions/coding-standards/python/rules/error-handling.md +855 -68
- package/augment-extensions/coding-standards/python/rules/testing.md +409 -0
- package/augment-extensions/coding-standards/python/rules/tooling.md +446 -0
- package/augment-extensions/coding-standards/python/rules/type-hints.md +115 -50
- package/augment-extensions/collections/html-css-js/README.md +82 -0
- package/augment-extensions/collections/html-css-js/collection.json +41 -0
- package/augment-extensions/domain-rules/database/README.md +161 -0
- package/augment-extensions/domain-rules/database/examples/flat-database-example.md +793 -0
- package/augment-extensions/domain-rules/database/examples/hybrid-database-example.md +1132 -0
- package/augment-extensions/domain-rules/database/examples/nosql-document-example.md +868 -0
- package/augment-extensions/domain-rules/database/examples/nosql-graph-example.md +805 -0
- package/augment-extensions/domain-rules/database/examples/relational-schema-example.md +621 -0
- package/augment-extensions/domain-rules/database/examples/vector-database-example.md +965 -0
- package/augment-extensions/domain-rules/database/module.json +28 -0
- package/augment-extensions/domain-rules/database/rules/flat-databases.md +624 -0
- package/augment-extensions/domain-rules/database/rules/nosql-databases.md +588 -0
- package/augment-extensions/domain-rules/database/rules/nosql-document-stores.md +856 -0
- package/augment-extensions/domain-rules/database/rules/nosql-graph-databases.md +778 -0
- package/augment-extensions/domain-rules/database/rules/nosql-key-value-stores.md +963 -0
- package/augment-extensions/domain-rules/database/rules/performance-optimization.md +1076 -0
- package/augment-extensions/domain-rules/database/rules/relational-databases.md +697 -0
- package/augment-extensions/domain-rules/database/rules/relational-indexing.md +671 -0
- package/augment-extensions/domain-rules/database/rules/relational-query-optimization.md +607 -0
- package/augment-extensions/domain-rules/database/rules/relational-schema-design.md +907 -0
- package/augment-extensions/domain-rules/database/rules/relational-transactions.md +783 -0
- package/augment-extensions/domain-rules/database/rules/security-standards.md +980 -0
- package/augment-extensions/domain-rules/database/rules/universal-best-practices.md +485 -0
- package/augment-extensions/domain-rules/database/rules/vector-databases.md +521 -0
- package/augment-extensions/domain-rules/database/rules/vector-embeddings.md +858 -0
- package/augment-extensions/domain-rules/database/rules/vector-indexing.md +934 -0
- package/augment-extensions/domain-rules/mcp/README.md +150 -0
- package/augment-extensions/domain-rules/mcp/examples/compressed-example.md +522 -0
- package/augment-extensions/domain-rules/mcp/examples/graph-augmented-example.md +520 -0
- package/augment-extensions/domain-rules/mcp/examples/hybrid-example.md +570 -0
- package/augment-extensions/domain-rules/mcp/examples/state-based-example.md +427 -0
- package/augment-extensions/domain-rules/mcp/examples/token-based-example.md +435 -0
- package/augment-extensions/domain-rules/mcp/examples/vector-based-example.md +502 -0
- package/augment-extensions/domain-rules/mcp/module.json +49 -0
- package/augment-extensions/domain-rules/mcp/rules/compressed-mcp.md +595 -0
- package/augment-extensions/domain-rules/mcp/rules/configuration.md +345 -0
- package/augment-extensions/domain-rules/mcp/rules/graph-augmented-mcp.md +687 -0
- package/augment-extensions/domain-rules/mcp/rules/hybrid-mcp.md +636 -0
- package/augment-extensions/domain-rules/mcp/rules/state-based-mcp.md +484 -0
- package/augment-extensions/domain-rules/mcp/rules/testing-validation.md +360 -0
- package/augment-extensions/domain-rules/mcp/rules/token-based-mcp.md +393 -0
- package/augment-extensions/domain-rules/mcp/rules/universal-rules.md +194 -0
- package/augment-extensions/domain-rules/mcp/rules/vector-based-mcp.md +625 -0
- package/augment-extensions/workflows/beads/module.json +4 -3
- package/augment-extensions/workflows/database/README.md +195 -0
- package/augment-extensions/workflows/database/ai-prompt-testing.md +295 -0
- package/augment-extensions/workflows/database/examples/migration-example.md +498 -0
- package/augment-extensions/workflows/database/examples/optimization-example.md +496 -0
- package/augment-extensions/workflows/database/examples/schema-design-example.md +444 -0
- package/augment-extensions/workflows/database/module.json +42 -0
- package/augment-extensions/workflows/database/rules/data-migration.md +249 -0
- package/augment-extensions/workflows/database/rules/documentation-standards.md +339 -0
- package/augment-extensions/workflows/database/rules/migration-workflow.md +352 -0
- package/augment-extensions/workflows/database/rules/optimization-workflow.md +435 -0
- package/augment-extensions/workflows/database/rules/schema-design-workflow.md +535 -0
- package/augment-extensions/workflows/database/rules/testing-patterns.md +305 -0
- package/augment-extensions/workflows/database/rules/workflow.md +458 -0
- package/augment-extensions/workflows/openspec/module.json +4 -3
- package/augment-extensions/writing-standards/screenplay/README.md +171 -0
- package/augment-extensions/writing-standards/screenplay/examples/aaa-hollywood-scene.fountain +164 -0
- package/augment-extensions/writing-standards/screenplay/module.json +124 -0
- package/augment-extensions/writing-standards/screenplay/rules/universal-formatting.md +339 -0
- package/cli/MODULES.md +302 -0
- package/cli/dist/cli.js +142 -9
- package/cli/dist/cli.js.map +1 -1
- package/cli/dist/commands/catalog.d.ts +13 -0
- package/cli/dist/commands/catalog.d.ts.map +1 -0
- package/cli/dist/commands/catalog.js +104 -0
- package/cli/dist/commands/catalog.js.map +1 -0
- package/cli/dist/commands/gui.d.ts +6 -0
- package/cli/dist/commands/gui.d.ts.map +1 -0
- package/cli/dist/commands/gui.js +211 -0
- package/cli/dist/commands/gui.js.map +1 -0
- package/cli/dist/commands/init.d.ts.map +1 -1
- package/cli/dist/commands/init.js +12 -0
- package/cli/dist/commands/init.js.map +1 -1
- package/cli/dist/commands/install-rules.d.ts +14 -0
- package/cli/dist/commands/install-rules.d.ts.map +1 -0
- package/cli/dist/commands/install-rules.js +127 -0
- package/cli/dist/commands/install-rules.js.map +1 -0
- package/cli/dist/commands/link.d.ts.map +1 -1
- package/cli/dist/commands/link.js +9 -11
- package/cli/dist/commands/link.js.map +1 -1
- package/cli/dist/commands/list.d.ts.map +1 -1
- package/cli/dist/commands/list.js +11 -28
- package/cli/dist/commands/list.js.map +1 -1
- package/cli/dist/commands/mcp.d.ts +48 -0
- package/cli/dist/commands/mcp.d.ts.map +1 -0
- package/cli/dist/commands/mcp.js +229 -0
- package/cli/dist/commands/mcp.js.map +1 -0
- package/cli/dist/commands/self-remove.d.ts +7 -0
- package/cli/dist/commands/self-remove.d.ts.map +1 -0
- package/cli/dist/commands/self-remove.js +179 -0
- package/cli/dist/commands/self-remove.js.map +1 -0
- package/cli/dist/commands/show.d.ts.map +1 -1
- package/cli/dist/commands/show.js +29 -99
- package/cli/dist/commands/show.js.map +1 -1
- package/cli/dist/commands/skill.d.ts +67 -0
- package/cli/dist/commands/skill.d.ts.map +1 -0
- package/cli/dist/commands/skill.js +513 -0
- package/cli/dist/commands/skill.js.map +1 -0
- package/cli/dist/commands/unlink.d.ts +6 -0
- package/cli/dist/commands/unlink.d.ts.map +1 -0
- package/cli/dist/commands/unlink.js +115 -0
- package/cli/dist/commands/unlink.js.map +1 -0
- package/cli/dist/commands/validate.d.ts +6 -0
- package/cli/dist/commands/validate.d.ts.map +1 -0
- package/cli/dist/commands/validate.js +159 -0
- package/cli/dist/commands/validate.js.map +1 -0
- package/cli/dist/utils/catalog-sync.d.ts +22 -0
- package/cli/dist/utils/catalog-sync.d.ts.map +1 -0
- package/cli/dist/utils/catalog-sync.js +157 -0
- package/cli/dist/utils/catalog-sync.js.map +1 -0
- package/cli/dist/utils/character-count.d.ts +56 -0
- package/cli/dist/utils/character-count.d.ts.map +1 -0
- package/cli/dist/utils/character-count.js +190 -0
- package/cli/dist/utils/character-count.js.map +1 -0
- package/cli/dist/utils/documentation-validator.d.ts +18 -0
- package/cli/dist/utils/documentation-validator.d.ts.map +1 -0
- package/cli/dist/utils/documentation-validator.js +233 -0
- package/cli/dist/utils/documentation-validator.js.map +1 -0
- package/cli/dist/utils/install-rules.d.ts +32 -0
- package/cli/dist/utils/install-rules.d.ts.map +1 -0
- package/cli/dist/utils/install-rules.js +375 -0
- package/cli/dist/utils/install-rules.js.map +1 -0
- package/cli/dist/utils/mcp-integration.d.ts +70 -0
- package/cli/dist/utils/mcp-integration.d.ts.map +1 -0
- package/cli/dist/utils/mcp-integration.js +292 -0
- package/cli/dist/utils/mcp-integration.js.map +1 -0
- package/cli/dist/utils/module-system.d.ts +153 -0
- package/cli/dist/utils/module-system.d.ts.map +1 -0
- package/cli/dist/utils/module-system.js +528 -0
- package/cli/dist/utils/module-system.js.map +1 -0
- package/cli/dist/utils/modules-catalog.d.ts +33 -0
- package/cli/dist/utils/modules-catalog.d.ts.map +1 -0
- package/cli/dist/utils/modules-catalog.js +163 -0
- package/cli/dist/utils/modules-catalog.js.map +1 -0
- package/cli/dist/utils/rule-install-hooks.d.ts +19 -0
- package/cli/dist/utils/rule-install-hooks.d.ts.map +1 -0
- package/cli/dist/utils/rule-install-hooks.js +224 -0
- package/cli/dist/utils/rule-install-hooks.js.map +1 -0
- package/cli/dist/utils/skill-system.d.ts +95 -0
- package/cli/dist/utils/skill-system.d.ts.map +1 -0
- package/cli/dist/utils/skill-system.js +313 -0
- package/cli/dist/utils/skill-system.js.map +1 -0
- package/modules.md +518 -106
- package/package.json +12 -3
|
@@ -0,0 +1,492 @@
|
|
|
1
|
+
# CSS Standards
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
This guide provides CSS standards covering naming conventions, organization, selectors, and responsive design for maintainable and scalable stylesheets.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Naming Conventions
|
|
10
|
+
|
|
11
|
+
### Kebab-Case for Class Names
|
|
12
|
+
|
|
13
|
+
**REQUIRED**: Use kebab-case for all class names:
|
|
14
|
+
|
|
15
|
+
```css
|
|
16
|
+
/* ✅ GOOD */
|
|
17
|
+
.user-profile { }
|
|
18
|
+
.nav-menu-item { }
|
|
19
|
+
.btn-primary { }
|
|
20
|
+
|
|
21
|
+
/* ❌ BAD */
|
|
22
|
+
.userProfile { } /* camelCase */
|
|
23
|
+
.user_profile { } /* snake_case */
|
|
24
|
+
.UserProfile { } /* PascalCase */
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### BEM (Block Element Modifier)
|
|
28
|
+
|
|
29
|
+
**RECOMMENDED**: Use BEM for component-based naming:
|
|
30
|
+
|
|
31
|
+
```css
|
|
32
|
+
/* Block */
|
|
33
|
+
.card { }
|
|
34
|
+
|
|
35
|
+
/* Element (part of block) */
|
|
36
|
+
.card__header { }
|
|
37
|
+
.card__body { }
|
|
38
|
+
.card__footer { }
|
|
39
|
+
|
|
40
|
+
/* Modifier (variation of block or element) */
|
|
41
|
+
.card--featured { }
|
|
42
|
+
.card__header--large { }
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
**Example**:
|
|
46
|
+
|
|
47
|
+
```html
|
|
48
|
+
<div class="card card--featured">
|
|
49
|
+
<div class="card__header card__header--large">
|
|
50
|
+
<h2 class="card__title">Title</h2>
|
|
51
|
+
</div>
|
|
52
|
+
<div class="card__body">
|
|
53
|
+
<p>Content</p>
|
|
54
|
+
</div>
|
|
55
|
+
</div>
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Descriptive and Semantic Names
|
|
59
|
+
|
|
60
|
+
**DO** use descriptive, semantic class names:
|
|
61
|
+
|
|
62
|
+
```css
|
|
63
|
+
/* ✅ GOOD: Describes purpose */
|
|
64
|
+
.primary-navigation { }
|
|
65
|
+
.user-avatar { }
|
|
66
|
+
.error-message { }
|
|
67
|
+
|
|
68
|
+
/* ❌ BAD: Describes appearance */
|
|
69
|
+
.red-text { }
|
|
70
|
+
.big-box { }
|
|
71
|
+
.left-column { }
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Avoid IDs for Styling
|
|
75
|
+
|
|
76
|
+
**RECOMMENDED**: Use IDs for JavaScript hooks only, not styling:
|
|
77
|
+
|
|
78
|
+
```css
|
|
79
|
+
/* ✅ GOOD */
|
|
80
|
+
.header { }
|
|
81
|
+
|
|
82
|
+
/* ❌ BAD */
|
|
83
|
+
#header { }
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
**REASON**: IDs have high specificity and are harder to override.
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## CSS Organization
|
|
91
|
+
|
|
92
|
+
### Component-Based Organization
|
|
93
|
+
|
|
94
|
+
**RECOMMENDED**: Organize CSS by component or feature:
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
styles/
|
|
98
|
+
├── base/
|
|
99
|
+
│ ├── reset.css
|
|
100
|
+
│ ├── typography.css
|
|
101
|
+
│ └── variables.css
|
|
102
|
+
├── components/
|
|
103
|
+
│ ├── button.css
|
|
104
|
+
│ ├── card.css
|
|
105
|
+
│ └── navigation.css
|
|
106
|
+
├── layouts/
|
|
107
|
+
│ ├── grid.css
|
|
108
|
+
│ └── header.css
|
|
109
|
+
└── utilities/
|
|
110
|
+
└── spacing.css
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### Separate Global and Component Styles
|
|
114
|
+
|
|
115
|
+
```css
|
|
116
|
+
/* global.css - Global styles */
|
|
117
|
+
:root {
|
|
118
|
+
--color-primary: #007bff;
|
|
119
|
+
--spacing-unit: 8px;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
* {
|
|
123
|
+
box-sizing: border-box;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/* button.css - Component styles */
|
|
127
|
+
.btn {
|
|
128
|
+
padding: var(--spacing-unit);
|
|
129
|
+
background: var(--color-primary);
|
|
130
|
+
}
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### CSS Custom Properties (Variables)
|
|
134
|
+
|
|
135
|
+
**RECOMMENDED**: Use CSS custom properties for theming:
|
|
136
|
+
|
|
137
|
+
```css
|
|
138
|
+
/* ✅ GOOD: Define at :root */
|
|
139
|
+
:root {
|
|
140
|
+
--color-primary: #007bff;
|
|
141
|
+
--color-secondary: #6c757d;
|
|
142
|
+
--font-family-base: 'Helvetica Neue', sans-serif;
|
|
143
|
+
--spacing-sm: 8px;
|
|
144
|
+
--spacing-md: 16px;
|
|
145
|
+
--spacing-lg: 24px;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
.btn {
|
|
149
|
+
background: var(--color-primary);
|
|
150
|
+
padding: var(--spacing-md);
|
|
151
|
+
font-family: var(--font-family-base);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/* Provide fallbacks */
|
|
155
|
+
.btn {
|
|
156
|
+
background: var(--color-primary, #007bff);
|
|
157
|
+
}
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### Avoid @import
|
|
161
|
+
|
|
162
|
+
**DON'T** use `@import` in CSS (use build tools instead):
|
|
163
|
+
|
|
164
|
+
```css
|
|
165
|
+
/* ❌ BAD: Blocks rendering */
|
|
166
|
+
@import url('typography.css');
|
|
167
|
+
|
|
168
|
+
/* ✅ GOOD: Use build tools or multiple <link> tags */
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
**REASON**: `@import` blocks parallel downloads and slows page load.
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
## CSS Selectors
|
|
176
|
+
|
|
177
|
+
### Keep Specificity Low
|
|
178
|
+
|
|
179
|
+
**DO** keep specificity as low as possible:
|
|
180
|
+
|
|
181
|
+
```css
|
|
182
|
+
/* ✅ GOOD: Low specificity */
|
|
183
|
+
.nav-item { }
|
|
184
|
+
.nav-item.active { }
|
|
185
|
+
|
|
186
|
+
/* ❌ BAD: High specificity */
|
|
187
|
+
nav ul li a.nav-item { }
|
|
188
|
+
#header .nav ul li a { }
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
### Limit Nesting
|
|
192
|
+
|
|
193
|
+
**RECOMMENDED**: Limit nesting to 3 levels maximum:
|
|
194
|
+
|
|
195
|
+
```css
|
|
196
|
+
/* ✅ GOOD: Shallow nesting */
|
|
197
|
+
.card { }
|
|
198
|
+
.card__header { }
|
|
199
|
+
.card__title { }
|
|
200
|
+
|
|
201
|
+
/* ❌ BAD: Deep nesting */
|
|
202
|
+
.card .card__header .card__title span.text { }
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### Avoid Universal Selector
|
|
206
|
+
|
|
207
|
+
**USE SPARINGLY**: Universal selector (`*`) can impact performance:
|
|
208
|
+
|
|
209
|
+
```css
|
|
210
|
+
/* ✅ ACCEPTABLE: Box-sizing reset */
|
|
211
|
+
* {
|
|
212
|
+
box-sizing: border-box;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
/* ❌ BAD: Overly broad */
|
|
216
|
+
* {
|
|
217
|
+
margin: 0;
|
|
218
|
+
padding: 0;
|
|
219
|
+
}
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
### Avoid !important
|
|
223
|
+
|
|
224
|
+
**AVOID**: Use `!important` only for utilities:
|
|
225
|
+
|
|
226
|
+
```css
|
|
227
|
+
/* ✅ ACCEPTABLE: Utility class */
|
|
228
|
+
.hidden {
|
|
229
|
+
display: none !important;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
/* ❌ BAD: Regular styling */
|
|
233
|
+
.btn {
|
|
234
|
+
background: blue !important;
|
|
235
|
+
}
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
## Responsive Design
|
|
241
|
+
|
|
242
|
+
### Mobile-First Approach
|
|
243
|
+
|
|
244
|
+
**RECOMMENDED**: Start with mobile styles, add complexity for larger screens:
|
|
245
|
+
|
|
246
|
+
```css
|
|
247
|
+
/* ✅ GOOD: Mobile-first */
|
|
248
|
+
.container {
|
|
249
|
+
padding: 16px;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
@media (min-width: 768px) {
|
|
253
|
+
.container {
|
|
254
|
+
padding: 24px;
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
@media (min-width: 1024px) {
|
|
259
|
+
.container {
|
|
260
|
+
padding: 32px;
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
/* ❌ BAD: Desktop-first */
|
|
265
|
+
.container {
|
|
266
|
+
padding: 32px;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
@media (max-width: 1024px) {
|
|
270
|
+
.container {
|
|
271
|
+
padding: 24px;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
### Media Query Units
|
|
277
|
+
|
|
278
|
+
**RECOMMENDED**: Use `em` or `rem` units for media queries:
|
|
279
|
+
|
|
280
|
+
```css
|
|
281
|
+
/* ✅ GOOD: em-based (more accessible) */
|
|
282
|
+
@media (min-width: 48em) { /* 768px at 16px base */ }
|
|
283
|
+
@media (min-width: 64em) { /* 1024px at 16px base */ }
|
|
284
|
+
|
|
285
|
+
/* ❌ ACCEPTABLE: px-based (less flexible) */
|
|
286
|
+
@media (min-width: 768px) { }
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
### Consistent Breakpoints
|
|
290
|
+
|
|
291
|
+
**RECOMMENDED**: Define consistent breakpoints:
|
|
292
|
+
|
|
293
|
+
```css
|
|
294
|
+
:root {
|
|
295
|
+
--breakpoint-sm: 36em; /* 576px */
|
|
296
|
+
--breakpoint-md: 48em; /* 768px */
|
|
297
|
+
--breakpoint-lg: 64em; /* 1024px */
|
|
298
|
+
--breakpoint-xl: 80em; /* 1280px */
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
/* Use in media queries */
|
|
302
|
+
@media (min-width: 48em) { /* md */ }
|
|
303
|
+
@media (min-width: 64em) { /* lg */ }
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
### CSS Grid and Flexbox
|
|
307
|
+
|
|
308
|
+
**RECOMMENDED**: Prefer Grid and Flexbox over floats:
|
|
309
|
+
|
|
310
|
+
```css
|
|
311
|
+
/* ✅ GOOD: Flexbox for 1D layouts */
|
|
312
|
+
.nav {
|
|
313
|
+
display: flex;
|
|
314
|
+
gap: 16px;
|
|
315
|
+
align-items: center;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
/* ✅ GOOD: Grid for 2D layouts */
|
|
319
|
+
.gallery {
|
|
320
|
+
display: grid;
|
|
321
|
+
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
|
|
322
|
+
gap: 16px;
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
/* ❌ BAD: Floats (legacy) */
|
|
326
|
+
.column {
|
|
327
|
+
float: left;
|
|
328
|
+
width: 50%;
|
|
329
|
+
}
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
---
|
|
333
|
+
|
|
334
|
+
## Code Quality
|
|
335
|
+
|
|
336
|
+
### Formatting
|
|
337
|
+
|
|
338
|
+
**RECOMMENDED**: Use consistent formatting:
|
|
339
|
+
|
|
340
|
+
```css
|
|
341
|
+
/* ✅ GOOD: Consistent formatting */
|
|
342
|
+
.selector {
|
|
343
|
+
property: value;
|
|
344
|
+
another-property: value;
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
.another-selector,
|
|
348
|
+
.multiple-selector {
|
|
349
|
+
property: value;
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
/* Use Prettier or Stylelint for automatic formatting */
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
### Comments
|
|
356
|
+
|
|
357
|
+
**RECOMMENDED**: Add comments for complex or non-obvious code:
|
|
358
|
+
|
|
359
|
+
```css
|
|
360
|
+
/* Component: Card
|
|
361
|
+
Usage: Product listings, blog posts
|
|
362
|
+
========================================== */
|
|
363
|
+
.card {
|
|
364
|
+
/* Prevent content overflow */
|
|
365
|
+
overflow: hidden;
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
/* TODO: Refactor to use CSS Grid */
|
|
369
|
+
.legacy-layout {
|
|
370
|
+
float: left;
|
|
371
|
+
}
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
### Property Order
|
|
375
|
+
|
|
376
|
+
**RECOMMENDED**: Group related properties:
|
|
377
|
+
|
|
378
|
+
```css
|
|
379
|
+
.element {
|
|
380
|
+
/* Positioning */
|
|
381
|
+
position: relative;
|
|
382
|
+
top: 0;
|
|
383
|
+
left: 0;
|
|
384
|
+
|
|
385
|
+
/* Display & Box Model */
|
|
386
|
+
display: flex;
|
|
387
|
+
width: 100%;
|
|
388
|
+
padding: 16px;
|
|
389
|
+
margin: 0;
|
|
390
|
+
|
|
391
|
+
/* Typography */
|
|
392
|
+
font-size: 16px;
|
|
393
|
+
line-height: 1.5;
|
|
394
|
+
|
|
395
|
+
/* Visual */
|
|
396
|
+
background: white;
|
|
397
|
+
border: 1px solid gray;
|
|
398
|
+
|
|
399
|
+
/* Misc */
|
|
400
|
+
cursor: pointer;
|
|
401
|
+
}
|
|
402
|
+
```
|
|
403
|
+
|
|
404
|
+
---
|
|
405
|
+
|
|
406
|
+
## Best Practices
|
|
407
|
+
|
|
408
|
+
### Reset or Normalize
|
|
409
|
+
|
|
410
|
+
**RECOMMENDED**: Use a CSS reset or normalize:
|
|
411
|
+
|
|
412
|
+
```css
|
|
413
|
+
/* Option 1: Simple reset */
|
|
414
|
+
* {
|
|
415
|
+
margin: 0;
|
|
416
|
+
padding: 0;
|
|
417
|
+
box-sizing: border-box;
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
/* Option 2: Use normalize.css or modern-normalize */
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
### Avoid Inline Styles
|
|
424
|
+
|
|
425
|
+
**DON'T** use inline styles (use classes instead):
|
|
426
|
+
|
|
427
|
+
```html
|
|
428
|
+
<!-- ❌ BAD -->
|
|
429
|
+
<div style="color: red; font-size: 16px;">Text</div>
|
|
430
|
+
|
|
431
|
+
<!-- ✅ GOOD -->
|
|
432
|
+
<div class="error-text">Text</div>
|
|
433
|
+
```
|
|
434
|
+
|
|
435
|
+
### Use Shorthand Properties
|
|
436
|
+
|
|
437
|
+
**RECOMMENDED**: Use shorthand when appropriate:
|
|
438
|
+
|
|
439
|
+
```css
|
|
440
|
+
/* ✅ GOOD: Shorthand */
|
|
441
|
+
.element {
|
|
442
|
+
margin: 10px 20px;
|
|
443
|
+
padding: 10px;
|
|
444
|
+
background: white url('bg.png') no-repeat center;
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
/* ❌ VERBOSE: Longhand */
|
|
448
|
+
.element {
|
|
449
|
+
margin-top: 10px;
|
|
450
|
+
margin-right: 20px;
|
|
451
|
+
margin-bottom: 10px;
|
|
452
|
+
margin-left: 20px;
|
|
453
|
+
}
|
|
454
|
+
```
|
|
455
|
+
|
|
456
|
+
### Vendor Prefixes
|
|
457
|
+
|
|
458
|
+
**RECOMMENDED**: Use autoprefixer instead of manual prefixes:
|
|
459
|
+
|
|
460
|
+
```css
|
|
461
|
+
/* ✅ GOOD: Let autoprefixer handle it */
|
|
462
|
+
.element {
|
|
463
|
+
display: flex;
|
|
464
|
+
user-select: none;
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
/* ❌ BAD: Manual prefixes */
|
|
468
|
+
.element {
|
|
469
|
+
display: -webkit-flex;
|
|
470
|
+
display: flex;
|
|
471
|
+
-webkit-user-select: none;
|
|
472
|
+
user-select: none;
|
|
473
|
+
}
|
|
474
|
+
```
|
|
475
|
+
|
|
476
|
+
---
|
|
477
|
+
|
|
478
|
+
## Summary
|
|
479
|
+
|
|
480
|
+
**Key Principles**:
|
|
481
|
+
1. Use kebab-case for class names
|
|
482
|
+
2. Consider BEM for component naming
|
|
483
|
+
3. Keep specificity low
|
|
484
|
+
4. Limit nesting to 3 levels
|
|
485
|
+
5. Use mobile-first responsive design
|
|
486
|
+
6. Prefer Grid/Flexbox over floats
|
|
487
|
+
7. Use CSS custom properties for theming
|
|
488
|
+
8. Avoid `!important` except for utilities
|
|
489
|
+
9. Use Stylelint for code quality
|
|
490
|
+
|
|
491
|
+
|
|
492
|
+
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# HTML Standards
|
|
2
|
+
|
|
3
|
+
Comprehensive HTML coding standards for modern web development.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
This module provides detailed guidelines for writing semantic, accessible, and modern HTML code.
|
|
8
|
+
|
|
9
|
+
## Key Benefits
|
|
10
|
+
|
|
11
|
+
- **Semantic HTML**: Proper use of HTML5 semantic elements
|
|
12
|
+
- **Accessibility**: WCAG 2.1 compliance and ARIA best practices
|
|
13
|
+
- **Modern Features**: HTML5 APIs and features
|
|
14
|
+
- **Best Practices**: Industry-standard HTML patterns
|
|
15
|
+
|
|
16
|
+
## Installation
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
augx link coding-standards/html
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Contents
|
|
23
|
+
|
|
24
|
+
### Rules
|
|
25
|
+
|
|
26
|
+
- `html-standards.md` - Core HTML coding standards
|
|
27
|
+
|
|
28
|
+
### Examples
|
|
29
|
+
|
|
30
|
+
- `html-examples.html` - Common HTML patterns
|
|
31
|
+
- `responsive-layout.html` - Responsive layout examples
|
|
32
|
+
|
|
33
|
+
## Character Count
|
|
34
|
+
|
|
35
|
+
~6,546 characters
|
|
36
|
+
|
|
37
|
+
## Version
|
|
38
|
+
|
|
39
|
+
1.0.0
|
|
40
|
+
|