aios-core 2.1.4 → 2.1.5
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/.aios-core/infrastructure/scripts/llm-routing/install-llm-routing.js +6 -6
- package/package.json +1 -1
- package/packages/installer/src/config/templates/env-template.js +2 -2
- package/packages/installer/src/wizard/wizard.js +34 -185
- package/src/wizard/index.js +2 -2
- package/.aios-core/development/tasks/analyze-brownfield.md +0 -456
- package/.aios-core/development/tasks/setup-project-docs.md +0 -444
- package/.aios-core/infrastructure/scripts/documentation-integrity/brownfield-analyzer.js +0 -501
- package/.aios-core/infrastructure/scripts/documentation-integrity/config-generator.js +0 -329
- package/.aios-core/infrastructure/scripts/documentation-integrity/deployment-config-loader.js +0 -282
- package/.aios-core/infrastructure/scripts/documentation-integrity/doc-generator.js +0 -331
- package/.aios-core/infrastructure/scripts/documentation-integrity/gitignore-generator.js +0 -312
- package/.aios-core/infrastructure/scripts/documentation-integrity/index.js +0 -74
- package/.aios-core/infrastructure/scripts/documentation-integrity/mode-detector.js +0 -358
- package/.aios-core/infrastructure/templates/core-config/core-config-brownfield.tmpl.yaml +0 -182
- package/.aios-core/infrastructure/templates/core-config/core-config-greenfield.tmpl.yaml +0 -127
- package/.aios-core/infrastructure/templates/gitignore/gitignore-aios-base.tmpl +0 -63
- package/.aios-core/infrastructure/templates/gitignore/gitignore-brownfield-merge.tmpl +0 -18
- package/.aios-core/infrastructure/templates/gitignore/gitignore-node.tmpl +0 -85
- package/.aios-core/infrastructure/templates/gitignore/gitignore-python.tmpl +0 -145
- package/.aios-core/infrastructure/templates/project-docs/coding-standards-tmpl.md +0 -346
- package/.aios-core/infrastructure/templates/project-docs/source-tree-tmpl.md +0 -177
- package/.aios-core/infrastructure/templates/project-docs/tech-stack-tmpl.md +0 -267
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
# ========================================
|
|
2
|
-
# AIOS Base Ignores
|
|
3
|
-
# Generated by AIOS Documentation Integrity System
|
|
4
|
-
# ========================================
|
|
5
|
-
|
|
6
|
-
# AIOS Local Configuration
|
|
7
|
-
.aios-core/local/
|
|
8
|
-
.aios-core/*.local.yaml
|
|
9
|
-
.aios-core/logs/
|
|
10
|
-
.aios-core/cache/
|
|
11
|
-
|
|
12
|
-
# Environment Files
|
|
13
|
-
.env
|
|
14
|
-
.env.local
|
|
15
|
-
.env.*.local
|
|
16
|
-
.env.development
|
|
17
|
-
.env.test
|
|
18
|
-
.env.production
|
|
19
|
-
|
|
20
|
-
# IDE & Editor
|
|
21
|
-
.vscode/settings.json
|
|
22
|
-
.vscode/*.code-workspace
|
|
23
|
-
.idea/
|
|
24
|
-
*.sublime-workspace
|
|
25
|
-
*.sublime-project
|
|
26
|
-
|
|
27
|
-
# OS Files
|
|
28
|
-
.DS_Store
|
|
29
|
-
.DS_Store?
|
|
30
|
-
._*
|
|
31
|
-
.Spotlight-V100
|
|
32
|
-
.Trashes
|
|
33
|
-
ehthumbs.db
|
|
34
|
-
Thumbs.db
|
|
35
|
-
desktop.ini
|
|
36
|
-
|
|
37
|
-
# Logs
|
|
38
|
-
logs/
|
|
39
|
-
*.log
|
|
40
|
-
npm-debug.log*
|
|
41
|
-
yarn-debug.log*
|
|
42
|
-
yarn-error.log*
|
|
43
|
-
pnpm-debug.log*
|
|
44
|
-
lerna-debug.log*
|
|
45
|
-
|
|
46
|
-
# Temporary Files
|
|
47
|
-
tmp/
|
|
48
|
-
temp/
|
|
49
|
-
*.tmp
|
|
50
|
-
*.temp
|
|
51
|
-
*.swp
|
|
52
|
-
*.swo
|
|
53
|
-
*~
|
|
54
|
-
|
|
55
|
-
# Backup Files
|
|
56
|
-
*.bak
|
|
57
|
-
*.backup
|
|
58
|
-
*.orig
|
|
59
|
-
|
|
60
|
-
# Archives
|
|
61
|
-
*.zip
|
|
62
|
-
*.tar.gz
|
|
63
|
-
*.rar
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
# ========================================
|
|
2
|
-
# AIOS Integration Section
|
|
3
|
-
# Added by AIOS Documentation Integrity System
|
|
4
|
-
# Date: {{GENERATED_DATE}}
|
|
5
|
-
# ========================================
|
|
6
|
-
|
|
7
|
-
# AIOS Local Configuration
|
|
8
|
-
.aios-core/local/
|
|
9
|
-
.aios-core/*.local.yaml
|
|
10
|
-
.aios-core/logs/
|
|
11
|
-
.aios-core/cache/
|
|
12
|
-
|
|
13
|
-
# AIOS Generated (optional - uncomment if needed)
|
|
14
|
-
# .aios-core/generated/
|
|
15
|
-
|
|
16
|
-
# ========================================
|
|
17
|
-
# End of AIOS Integration Section
|
|
18
|
-
# ========================================
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
# ========================================
|
|
2
|
-
# Node.js Ignores
|
|
3
|
-
# Generated by AIOS Documentation Integrity System
|
|
4
|
-
# ========================================
|
|
5
|
-
|
|
6
|
-
# Dependencies
|
|
7
|
-
node_modules/
|
|
8
|
-
.pnp
|
|
9
|
-
.pnp.js
|
|
10
|
-
|
|
11
|
-
# Build Output
|
|
12
|
-
dist/
|
|
13
|
-
build/
|
|
14
|
-
out/
|
|
15
|
-
.next/
|
|
16
|
-
.nuxt/
|
|
17
|
-
.output/
|
|
18
|
-
.cache/
|
|
19
|
-
|
|
20
|
-
# TypeScript
|
|
21
|
-
*.tsbuildinfo
|
|
22
|
-
.tscache/
|
|
23
|
-
|
|
24
|
-
# Testing
|
|
25
|
-
coverage/
|
|
26
|
-
.nyc_output/
|
|
27
|
-
junit.xml
|
|
28
|
-
test-results/
|
|
29
|
-
|
|
30
|
-
# Package Managers
|
|
31
|
-
package-lock.json
|
|
32
|
-
yarn.lock
|
|
33
|
-
pnpm-lock.yaml
|
|
34
|
-
.yarn/
|
|
35
|
-
!.yarn/patches
|
|
36
|
-
!.yarn/plugins
|
|
37
|
-
!.yarn/releases
|
|
38
|
-
!.yarn/sdks
|
|
39
|
-
!.yarn/versions
|
|
40
|
-
|
|
41
|
-
# ESLint
|
|
42
|
-
.eslintcache
|
|
43
|
-
|
|
44
|
-
# Prettier
|
|
45
|
-
.prettiercache
|
|
46
|
-
|
|
47
|
-
# Parcel / Bundlers
|
|
48
|
-
.parcel-cache/
|
|
49
|
-
.turbo/
|
|
50
|
-
.vercel/
|
|
51
|
-
.netlify/
|
|
52
|
-
|
|
53
|
-
# Serverless
|
|
54
|
-
.serverless/
|
|
55
|
-
|
|
56
|
-
# Next.js
|
|
57
|
-
.next/
|
|
58
|
-
out/
|
|
59
|
-
|
|
60
|
-
# Nuxt.js
|
|
61
|
-
.nuxt/
|
|
62
|
-
dist/
|
|
63
|
-
|
|
64
|
-
# Gatsby
|
|
65
|
-
.cache/
|
|
66
|
-
public/
|
|
67
|
-
|
|
68
|
-
# VuePress
|
|
69
|
-
.vuepress/dist/
|
|
70
|
-
|
|
71
|
-
# Storybook
|
|
72
|
-
storybook-static/
|
|
73
|
-
|
|
74
|
-
# dotenv environment variable files
|
|
75
|
-
.env
|
|
76
|
-
.env.development.local
|
|
77
|
-
.env.test.local
|
|
78
|
-
.env.production.local
|
|
79
|
-
.env.local
|
|
80
|
-
|
|
81
|
-
# Debug
|
|
82
|
-
*.log
|
|
83
|
-
npm-debug.log*
|
|
84
|
-
yarn-debug.log*
|
|
85
|
-
yarn-error.log*
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
# ========================================
|
|
2
|
-
# Python Ignores
|
|
3
|
-
# Generated by AIOS Documentation Integrity System
|
|
4
|
-
# ========================================
|
|
5
|
-
|
|
6
|
-
# Byte-compiled / optimized / DLL files
|
|
7
|
-
__pycache__/
|
|
8
|
-
*.py[cod]
|
|
9
|
-
*$py.class
|
|
10
|
-
|
|
11
|
-
# C extensions
|
|
12
|
-
*.so
|
|
13
|
-
|
|
14
|
-
# Distribution / packaging
|
|
15
|
-
.Python
|
|
16
|
-
build/
|
|
17
|
-
develop-eggs/
|
|
18
|
-
dist/
|
|
19
|
-
downloads/
|
|
20
|
-
eggs/
|
|
21
|
-
.eggs/
|
|
22
|
-
lib/
|
|
23
|
-
lib64/
|
|
24
|
-
parts/
|
|
25
|
-
sdist/
|
|
26
|
-
var/
|
|
27
|
-
wheels/
|
|
28
|
-
share/python-wheels/
|
|
29
|
-
*.egg-info/
|
|
30
|
-
.installed.cfg
|
|
31
|
-
*.egg
|
|
32
|
-
MANIFEST
|
|
33
|
-
|
|
34
|
-
# PyInstaller
|
|
35
|
-
*.manifest
|
|
36
|
-
*.spec
|
|
37
|
-
|
|
38
|
-
# Installer logs
|
|
39
|
-
pip-log.txt
|
|
40
|
-
pip-delete-this-directory.txt
|
|
41
|
-
|
|
42
|
-
# Unit test / coverage reports
|
|
43
|
-
htmlcov/
|
|
44
|
-
.tox/
|
|
45
|
-
.nox/
|
|
46
|
-
.coverage
|
|
47
|
-
.coverage.*
|
|
48
|
-
.cache
|
|
49
|
-
nosetests.xml
|
|
50
|
-
coverage.xml
|
|
51
|
-
*.cover
|
|
52
|
-
*.py,cover
|
|
53
|
-
.hypothesis/
|
|
54
|
-
.pytest_cache/
|
|
55
|
-
cover/
|
|
56
|
-
|
|
57
|
-
# Translations
|
|
58
|
-
*.mo
|
|
59
|
-
*.pot
|
|
60
|
-
|
|
61
|
-
# Django stuff:
|
|
62
|
-
*.log
|
|
63
|
-
local_settings.py
|
|
64
|
-
db.sqlite3
|
|
65
|
-
db.sqlite3-journal
|
|
66
|
-
|
|
67
|
-
# Flask stuff:
|
|
68
|
-
instance/
|
|
69
|
-
.webassets-cache
|
|
70
|
-
|
|
71
|
-
# Scrapy stuff:
|
|
72
|
-
.scrapy
|
|
73
|
-
|
|
74
|
-
# Sphinx documentation
|
|
75
|
-
docs/_build/
|
|
76
|
-
|
|
77
|
-
# PyBuilder
|
|
78
|
-
.pybuilder/
|
|
79
|
-
target/
|
|
80
|
-
|
|
81
|
-
# Jupyter Notebook
|
|
82
|
-
.ipynb_checkpoints
|
|
83
|
-
|
|
84
|
-
# IPython
|
|
85
|
-
profile_default/
|
|
86
|
-
ipython_config.py
|
|
87
|
-
|
|
88
|
-
# pyenv
|
|
89
|
-
.python-version
|
|
90
|
-
|
|
91
|
-
# pipenv
|
|
92
|
-
Pipfile.lock
|
|
93
|
-
|
|
94
|
-
# poetry
|
|
95
|
-
poetry.lock
|
|
96
|
-
|
|
97
|
-
# pdm
|
|
98
|
-
.pdm.toml
|
|
99
|
-
pdm.lock
|
|
100
|
-
|
|
101
|
-
# PEP 582
|
|
102
|
-
__pypackages__/
|
|
103
|
-
|
|
104
|
-
# Celery stuff
|
|
105
|
-
celerybeat-schedule
|
|
106
|
-
celerybeat.pid
|
|
107
|
-
|
|
108
|
-
# SageMath parsed files
|
|
109
|
-
*.sage.py
|
|
110
|
-
|
|
111
|
-
# Environments
|
|
112
|
-
.env
|
|
113
|
-
.venv
|
|
114
|
-
env/
|
|
115
|
-
venv/
|
|
116
|
-
ENV/
|
|
117
|
-
env.bak/
|
|
118
|
-
venv.bak/
|
|
119
|
-
|
|
120
|
-
# Spyder project settings
|
|
121
|
-
.spyderproject
|
|
122
|
-
.spyproject
|
|
123
|
-
|
|
124
|
-
# Rope project settings
|
|
125
|
-
.ropeproject
|
|
126
|
-
|
|
127
|
-
# mkdocs documentation
|
|
128
|
-
/site
|
|
129
|
-
|
|
130
|
-
# mypy
|
|
131
|
-
.mypy_cache/
|
|
132
|
-
.dmypy.json
|
|
133
|
-
dmypy.json
|
|
134
|
-
|
|
135
|
-
# Pyre type checker
|
|
136
|
-
.pyre/
|
|
137
|
-
|
|
138
|
-
# pytype static type analyzer
|
|
139
|
-
.pytype/
|
|
140
|
-
|
|
141
|
-
# Cython debug symbols
|
|
142
|
-
cython_debug/
|
|
143
|
-
|
|
144
|
-
# Ruff
|
|
145
|
-
.ruff_cache/
|
|
@@ -1,346 +0,0 @@
|
|
|
1
|
-
# {{PROJECT_NAME}} Coding Standards
|
|
2
|
-
|
|
3
|
-
> **Auto-generated by AIOS** on {{GENERATED_DATE}}
|
|
4
|
-
> **Mode:** {{INSTALLATION_MODE}}
|
|
5
|
-
> **Tech Stack:** {{TECH_STACK}}
|
|
6
|
-
|
|
7
|
-
## Overview
|
|
8
|
-
|
|
9
|
-
This document defines the coding standards and conventions for **{{PROJECT_NAME}}**.
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
{{#if IS_NODE}}
|
|
14
|
-
## JavaScript/TypeScript Standards
|
|
15
|
-
|
|
16
|
-
### Language Version
|
|
17
|
-
|
|
18
|
-
- **ECMAScript:** ES2022+
|
|
19
|
-
- **TypeScript:** {{TYPESCRIPT_VERSION}} (if applicable)
|
|
20
|
-
- **Node.js:** {{NODE_VERSION}}
|
|
21
|
-
|
|
22
|
-
### Formatting
|
|
23
|
-
|
|
24
|
-
| Rule | Value |
|
|
25
|
-
|------|-------|
|
|
26
|
-
| Indentation | 2 spaces |
|
|
27
|
-
| Quotes | Single quotes `'` |
|
|
28
|
-
| Semicolons | {{SEMICOLONS}} |
|
|
29
|
-
| Max line length | 100 characters |
|
|
30
|
-
| Trailing commas | ES5 compatible |
|
|
31
|
-
|
|
32
|
-
### ESLint Configuration
|
|
33
|
-
|
|
34
|
-
```javascript
|
|
35
|
-
// .eslintrc.js
|
|
36
|
-
module.exports = {
|
|
37
|
-
env: {
|
|
38
|
-
node: true,
|
|
39
|
-
es2022: true,
|
|
40
|
-
jest: true,
|
|
41
|
-
},
|
|
42
|
-
extends: [
|
|
43
|
-
'eslint:recommended',
|
|
44
|
-
{{#if IS_TYPESCRIPT}}
|
|
45
|
-
'@typescript-eslint/recommended',
|
|
46
|
-
{{/if}}
|
|
47
|
-
],
|
|
48
|
-
parserOptions: {
|
|
49
|
-
ecmaVersion: 2022,
|
|
50
|
-
sourceType: 'module',
|
|
51
|
-
},
|
|
52
|
-
rules: {
|
|
53
|
-
'indent': ['error', 2],
|
|
54
|
-
'quotes': ['error', 'single'],
|
|
55
|
-
'semi': ['error', '{{SEMICOLONS_RULE}}'],
|
|
56
|
-
'no-unused-vars': 'warn',
|
|
57
|
-
'no-console': 'warn',
|
|
58
|
-
},
|
|
59
|
-
};
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
### Prettier Configuration
|
|
63
|
-
|
|
64
|
-
```json
|
|
65
|
-
{
|
|
66
|
-
"semi": {{PRETTIER_SEMI}},
|
|
67
|
-
"singleQuote": true,
|
|
68
|
-
"tabWidth": 2,
|
|
69
|
-
"trailingComma": "es5",
|
|
70
|
-
"printWidth": 100
|
|
71
|
-
}
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
### Naming Conventions
|
|
75
|
-
|
|
76
|
-
| Type | Convention | Example |
|
|
77
|
-
|------|------------|---------|
|
|
78
|
-
| Variables | camelCase | `userName` |
|
|
79
|
-
| Constants | SCREAMING_SNAKE | `MAX_RETRIES` |
|
|
80
|
-
| Functions | camelCase | `getUserById()` |
|
|
81
|
-
| Classes | PascalCase | `UserService` |
|
|
82
|
-
| Files | kebab-case | `user-service.js` |
|
|
83
|
-
| React Components | PascalCase | `UserProfile.tsx` |
|
|
84
|
-
|
|
85
|
-
### Function Guidelines
|
|
86
|
-
|
|
87
|
-
```javascript
|
|
88
|
-
/**
|
|
89
|
-
* Short description of function purpose
|
|
90
|
-
*
|
|
91
|
-
* @param {string} userId - User identifier
|
|
92
|
-
* @param {Object} options - Configuration options
|
|
93
|
-
* @returns {Promise<User>} The user object
|
|
94
|
-
* @throws {NotFoundError} When user doesn't exist
|
|
95
|
-
*/
|
|
96
|
-
async function getUserById(userId, options = {}) {
|
|
97
|
-
// Implementation
|
|
98
|
-
}
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
### Import Order
|
|
102
|
-
|
|
103
|
-
1. Node.js built-in modules
|
|
104
|
-
2. External dependencies (npm packages)
|
|
105
|
-
3. Internal modules (absolute paths)
|
|
106
|
-
4. Relative imports
|
|
107
|
-
5. Type imports (TypeScript)
|
|
108
|
-
|
|
109
|
-
```javascript
|
|
110
|
-
// 1. Built-in
|
|
111
|
-
const fs = require('fs');
|
|
112
|
-
const path = require('path');
|
|
113
|
-
|
|
114
|
-
// 2. External
|
|
115
|
-
const express = require('express');
|
|
116
|
-
const lodash = require('lodash');
|
|
117
|
-
|
|
118
|
-
// 3. Internal
|
|
119
|
-
const { config } = require('@/config');
|
|
120
|
-
const { UserService } = require('@/services/user');
|
|
121
|
-
|
|
122
|
-
// 4. Relative
|
|
123
|
-
const { helper } = require('./utils');
|
|
124
|
-
```
|
|
125
|
-
{{/if}}
|
|
126
|
-
|
|
127
|
-
{{#if IS_PYTHON}}
|
|
128
|
-
## Python Standards
|
|
129
|
-
|
|
130
|
-
### Language Version
|
|
131
|
-
|
|
132
|
-
- **Python:** {{PYTHON_VERSION}}
|
|
133
|
-
- **Package Manager:** pip / poetry
|
|
134
|
-
|
|
135
|
-
### Formatting
|
|
136
|
-
|
|
137
|
-
| Rule | Value |
|
|
138
|
-
|------|-------|
|
|
139
|
-
| Indentation | 4 spaces |
|
|
140
|
-
| Max line length | 88 characters (Black default) |
|
|
141
|
-
| Quotes | Double quotes `"` |
|
|
142
|
-
| Docstring style | Google style |
|
|
143
|
-
|
|
144
|
-
### Black Configuration
|
|
145
|
-
|
|
146
|
-
```toml
|
|
147
|
-
# pyproject.toml
|
|
148
|
-
[tool.black]
|
|
149
|
-
line-length = 88
|
|
150
|
-
target-version = ['py{{PYTHON_SHORT_VERSION}}']
|
|
151
|
-
include = '\.pyi?$'
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
### Flake8 Configuration
|
|
155
|
-
|
|
156
|
-
```ini
|
|
157
|
-
# .flake8
|
|
158
|
-
[flake8]
|
|
159
|
-
max-line-length = 88
|
|
160
|
-
extend-ignore = E203, W503
|
|
161
|
-
exclude = .git,__pycache__,build,dist
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
### Naming Conventions
|
|
165
|
-
|
|
166
|
-
| Type | Convention | Example |
|
|
167
|
-
|------|------------|---------|
|
|
168
|
-
| Variables | snake_case | `user_name` |
|
|
169
|
-
| Constants | SCREAMING_SNAKE | `MAX_RETRIES` |
|
|
170
|
-
| Functions | snake_case | `get_user_by_id()` |
|
|
171
|
-
| Classes | PascalCase | `UserService` |
|
|
172
|
-
| Files | snake_case | `user_service.py` |
|
|
173
|
-
| Private | Leading underscore | `_internal_method()` |
|
|
174
|
-
|
|
175
|
-
### Function Guidelines
|
|
176
|
-
|
|
177
|
-
```python
|
|
178
|
-
def get_user_by_id(user_id: str, options: dict = None) -> User:
|
|
179
|
-
"""Short description of function purpose.
|
|
180
|
-
|
|
181
|
-
Args:
|
|
182
|
-
user_id: User identifier
|
|
183
|
-
options: Configuration options
|
|
184
|
-
|
|
185
|
-
Returns:
|
|
186
|
-
The user object
|
|
187
|
-
|
|
188
|
-
Raises:
|
|
189
|
-
NotFoundError: When user doesn't exist
|
|
190
|
-
"""
|
|
191
|
-
# Implementation
|
|
192
|
-
pass
|
|
193
|
-
```
|
|
194
|
-
|
|
195
|
-
### Import Order
|
|
196
|
-
|
|
197
|
-
1. Standard library imports
|
|
198
|
-
2. Related third-party imports
|
|
199
|
-
3. Local application imports
|
|
200
|
-
|
|
201
|
-
```python
|
|
202
|
-
# 1. Standard library
|
|
203
|
-
import os
|
|
204
|
-
import sys
|
|
205
|
-
from pathlib import Path
|
|
206
|
-
|
|
207
|
-
# 2. Third-party
|
|
208
|
-
import requests
|
|
209
|
-
from fastapi import FastAPI
|
|
210
|
-
|
|
211
|
-
# 3. Local
|
|
212
|
-
from {{PYTHON_PACKAGE_NAME}}.config import settings
|
|
213
|
-
from {{PYTHON_PACKAGE_NAME}}.services.user import UserService
|
|
214
|
-
```
|
|
215
|
-
{{/if}}
|
|
216
|
-
|
|
217
|
-
{{#if IS_GO}}
|
|
218
|
-
## Go Standards
|
|
219
|
-
|
|
220
|
-
### Language Version
|
|
221
|
-
|
|
222
|
-
- **Go:** {{GO_VERSION}}
|
|
223
|
-
|
|
224
|
-
### Formatting
|
|
225
|
-
|
|
226
|
-
- Use `gofmt` for all formatting
|
|
227
|
-
- Use `goimports` for import management
|
|
228
|
-
|
|
229
|
-
### Naming Conventions
|
|
230
|
-
|
|
231
|
-
| Type | Convention | Example |
|
|
232
|
-
|------|------------|---------|
|
|
233
|
-
| Variables | camelCase | `userName` |
|
|
234
|
-
| Constants | PascalCase or camelCase | `MaxRetries` |
|
|
235
|
-
| Functions (exported) | PascalCase | `GetUserByID` |
|
|
236
|
-
| Functions (private) | camelCase | `getUserByID` |
|
|
237
|
-
| Packages | lowercase | `userservice` |
|
|
238
|
-
| Files | snake_case | `user_service.go` |
|
|
239
|
-
|
|
240
|
-
### Function Guidelines
|
|
241
|
-
|
|
242
|
-
```go
|
|
243
|
-
// GetUserByID retrieves a user by their unique identifier.
|
|
244
|
-
//
|
|
245
|
-
// It returns the user and any error encountered.
|
|
246
|
-
func GetUserByID(ctx context.Context, userID string) (*User, error) {
|
|
247
|
-
// Implementation
|
|
248
|
-
}
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
### Import Order
|
|
252
|
-
|
|
253
|
-
1. Standard library
|
|
254
|
-
2. Third-party packages
|
|
255
|
-
3. Local packages
|
|
256
|
-
|
|
257
|
-
```go
|
|
258
|
-
import (
|
|
259
|
-
// Standard library
|
|
260
|
-
"context"
|
|
261
|
-
"fmt"
|
|
262
|
-
|
|
263
|
-
// Third-party
|
|
264
|
-
"github.com/gin-gonic/gin"
|
|
265
|
-
|
|
266
|
-
// Local
|
|
267
|
-
"{{GO_MODULE}}/internal/config"
|
|
268
|
-
"{{GO_MODULE}}/internal/services"
|
|
269
|
-
)
|
|
270
|
-
```
|
|
271
|
-
{{/if}}
|
|
272
|
-
|
|
273
|
-
---
|
|
274
|
-
|
|
275
|
-
## Common Standards (All Languages)
|
|
276
|
-
|
|
277
|
-
### Error Handling
|
|
278
|
-
|
|
279
|
-
- Always handle errors explicitly
|
|
280
|
-
- Provide meaningful error messages
|
|
281
|
-
- Include context in error messages
|
|
282
|
-
- Use appropriate error types/codes
|
|
283
|
-
|
|
284
|
-
### Comments
|
|
285
|
-
|
|
286
|
-
- Write comments that explain "why", not "what"
|
|
287
|
-
- Keep comments up-to-date with code
|
|
288
|
-
- Use JSDoc/docstrings for public APIs
|
|
289
|
-
- Avoid commented-out code in commits
|
|
290
|
-
|
|
291
|
-
### Git Commit Messages
|
|
292
|
-
|
|
293
|
-
Follow conventional commits:
|
|
294
|
-
|
|
295
|
-
```
|
|
296
|
-
<type>(<scope>): <subject>
|
|
297
|
-
|
|
298
|
-
<body>
|
|
299
|
-
|
|
300
|
-
<footer>
|
|
301
|
-
```
|
|
302
|
-
|
|
303
|
-
Types: `feat`, `fix`, `docs`, `style`, `refactor`, `test`, `chore`
|
|
304
|
-
|
|
305
|
-
Example:
|
|
306
|
-
```
|
|
307
|
-
feat(auth): add OAuth2 login support
|
|
308
|
-
|
|
309
|
-
- Implement Google OAuth provider
|
|
310
|
-
- Add token refresh mechanism
|
|
311
|
-
- Update user model with OAuth fields
|
|
312
|
-
|
|
313
|
-
Closes #123
|
|
314
|
-
```
|
|
315
|
-
|
|
316
|
-
### Code Review Guidelines
|
|
317
|
-
|
|
318
|
-
1. **Functionality:** Does it work as intended?
|
|
319
|
-
2. **Readability:** Is it easy to understand?
|
|
320
|
-
3. **Maintainability:** Is it easy to modify?
|
|
321
|
-
4. **Performance:** Are there obvious bottlenecks?
|
|
322
|
-
5. **Security:** Are there vulnerabilities?
|
|
323
|
-
6. **Tests:** Is it adequately tested?
|
|
324
|
-
|
|
325
|
-
---
|
|
326
|
-
|
|
327
|
-
## Tools & Automation
|
|
328
|
-
|
|
329
|
-
### Pre-commit Hooks
|
|
330
|
-
|
|
331
|
-
The project uses pre-commit hooks for:
|
|
332
|
-
- Linting
|
|
333
|
-
- Formatting
|
|
334
|
-
- Type checking (if applicable)
|
|
335
|
-
|
|
336
|
-
### CI/CD Quality Gates
|
|
337
|
-
|
|
338
|
-
All PRs must pass:
|
|
339
|
-
{{#each QUALITY_GATES}}
|
|
340
|
-
- [ ] {{this}}
|
|
341
|
-
{{/each}}
|
|
342
|
-
|
|
343
|
-
---
|
|
344
|
-
|
|
345
|
-
*Generated by AIOS Documentation Integrity System*
|
|
346
|
-
*Template Version: 1.0.0*
|