Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
a1a634f
docs: add sistema de permisos granular sin jerarquia
claude Nov 7, 2025
d6565a6
docs: add prioridades 2-4 sistema permisos granular
claude Nov 7, 2025
1b0816b
docs: completar sistema de permisos granular con casos de uso, mapeo …
claude Nov 7, 2025
0f2b3c4
docs: crear guias operativas para sistema de permisos y CODEOWNERS
claude Nov 7, 2025
81d74e4
docs: crear guias TDD backend y frontend para sistema de permisos
claude Nov 7, 2025
94af60b
feat: implementar base del sistema de permisos granular (backend)
claude Nov 7, 2025
83b95f4
docs: analisis de estado de implementacion prioridad 02 (funciones core)
claude Nov 8, 2025
595fb3a
docs: crear plan maestro con 91 tareas para prioridad 02
claude Nov 8, 2025
046718d
feat: implementar FASE 1 y FASE 2 del sistema de permisos granular
claude Nov 8, 2025
5b034cf
feat: implementar FASE 3 - API REST completa
claude Nov 8, 2025
e5cebe1
feat: implementar FASE 4 y FASE 5 - Tests y Documentacion completa
claude Nov 8, 2025
e0ea67f
docs: agregar resumen ejecutivo de implementacion completa
claude Nov 8, 2025
0057b98
feat: implementar tests unitarios con metodologia TDD
claude Nov 8, 2025
6830bfe
refactor: aplicar TDD REFACTOR phase - eliminar duplicación de código
claude Nov 8, 2025
6c30f19
refactor: completar TDD REFACTOR phase al 100% - eliminar duplicación…
claude Nov 8, 2025
6f01273
feat: implement TDD Feature Agent with constitution compliance system
claude Nov 8, 2025
af0b152
docs: add comprehensive TDD Feature Agent documentation
claude Nov 8, 2025
d258e50
docs: reorganizar documentación TDD Feature Agent en estructura correcta
claude Nov 8, 2025
3c4aaa0
docs: add Clean Code Naming Principles to style guide
claude Nov 8, 2025
430f7fb
refactor: apply Clean Code Naming to workflow file
claude Nov 8, 2025
4129975
refactor(docs): apply Clean Code Naming principles - Phase 1 complete
claude Nov 9, 2025
c4ba6ac
test: add comprehensive tests for TDD Feature Agent - Phase 2
claude Nov 9, 2025
03edf88
fix(tests): correct test data structure to match TDD Agent implementa…
claude Nov 9, 2025
4cd801d
docs(scripts): add comprehensive reorganization analysis and proposal
claude Nov 9, 2025
ea09131
refactor(scripts): reorganize scripts/ai/agents/ into domain-specific…
claude Nov 9, 2025
3ca7fc0
refactor(scripts): reorganize root-level scripts into functional dire…
claude Nov 9, 2025
634fbf1
refactor(scripts): consolidate infrastructure scripts - Phase 3
claude Nov 9, 2025
dd1f040
fix(docs): remove emojis and add NO EMOJI policy analysis
claude Nov 9, 2025
39440db
feat(docs,ci): implement emoji policy enforcement mechanisms
claude Nov 9, 2025
c1862df
feat(strategy): add shell scripts migration strategy with Prompt Engi…
claude Nov 9, 2025
dbd6531
docs(analysis): comprehensive analysis of CPython Builder refactoring…
claude Nov 9, 2025
9285dc5
feat(strategy): comprehensive Git hooks strategy for local validation
claude Nov 9, 2025
746fa83
feat(infrastructure): implement Shell Scripts Constitution and Git Ho…
claude Nov 9, 2025
097baa8
feat(validation): add frontmatter validator (Python version - pending…
claude Nov 9, 2025
7e62076
feat(validation): migrate lint.yml to shell script validator (NO Python)
claude Nov 9, 2025
fa2b1cd
chore: remove Python validator (replaced by shell script)
claude Nov 9, 2025
fee6225
feat(security): migrate security-scan.yml validation logic to standal…
claude Nov 9, 2025
6602493
feat(compliance): migrate IACT RNF-002 validations to standalone shel…
claude Nov 9, 2025
1515d61
refactor(emoji): migrate check_no_emojis from Python to shell script
claude Nov 9, 2025
e6f4f5f
feat(docs): migrate docs-validation.yml logic to standalone shell scr…
claude Nov 9, 2025
b5a09e2
chore(docs): update docs-validation.yml to use standalone validation …
claude Nov 9, 2025
8603cad
feat(guides): migrate validate-guides.yml Python logic to shell scripts
claude Nov 9, 2025
113c459
docs(analysis): add idempotence and silent failures analysis for vali…
claude Nov 9, 2025
fe78440
fix(validation): eliminate silent failures in critical security valid…
claude Nov 9, 2025
9abc7e3
docs(summary): add comprehensive shell scripts migration executive su…
claude Nov 9, 2025
0beb857
fix(guides): remove emoji from validate-guides.yml check-broken-links…
claude Nov 9, 2025
987d56f
feat(guides): migrate check-broken-links from Python to shell script
claude Nov 9, 2025
9fb17f8
docs(summary): update migration summary - validate-guides.yml COMPLETED
claude Nov 9, 2025
cc70821
feat(git-hooks): enhance pre-push with comprehensive validations
claude Nov 9, 2025
2c0af81
docs(summary): mark PRIORIDAD 1 as completed (pre-push hook enhanced)
claude Nov 9, 2025
68f3da3
fix(validation): eliminate remaining silent failures in XSS and docs …
claude Nov 9, 2025
d9694df
docs(summary): mark ALL priorities as completed - 100% mission accomp…
claude Nov 9, 2025
00aee52
docs(comprehensive): complete documentation-code congruence analysis
claude Nov 9, 2025
538dc32
docs: complete documentation for 5 critical gaps identified in analysis
claude Nov 9, 2025
5b687ff
feat(permissions): complete SQL optimization layer for granular permi…
claude Nov 9, 2025
7a39758
feat(permisos): implement complete REST API layer for granular permis…
claude Nov 9, 2025
65f1a5b
docs(permisos): complete documentation with use cases, diagrams and G…
claude Nov 9, 2025
6150f90
feat(frontend): complete permissions system integration - BLOCKER RES…
claude Nov 9, 2025
4c6c173
feat(permisos): add decorators, middleware, mixins and complete API d…
claude Nov 9, 2025
75e0e13
docs(permisos): complete documentation with use cases, diagrams and s…
claude Nov 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
361 changes: 361 additions & 0 deletions .claude/naming_conventions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,361 @@
# Clean Code Naming Conventions - Quick Reference

**Fuente oficial:** `docs/gobernanza/GUIA_ESTILO.md`

## TL;DR - Checklist Rapido

Antes de nombrar algo, verificar:

- [ ] **Revela intencion?** (no requiere comentario)
- [ ] **Es preciso?** (no desinforma)
- [ ] **Cada palabra aporta valor?** (sin "info", "data", "stuff")
- [ ] **Es pronunciable?** (se puede decir en voz alta)
- [ ] **Es buscable?** (terminos unicos y especificos)
- [ ] **Sin codificaciones?** (sin notacion hungara)
- [ ] **Sin traduccion mental?** (directamente comprensible)
- [ ] **Consistente?** (misma palabra por concepto)
- [ ] **Revela intencion?** (WHAT, no HOW)

---

## Principios Fundamentales

### 1. Nombres que Revelen Intenciones

```bash
# MALO
workflow_007.md

# BUENO
workflow-implement-feature-with-tdd.md
```

### 2. Evitar Desinformacion

```python
# MALO
accountList = {} # No es una List!

# BUENO
account_by_id = {}
```

### 3. Distinciones con Sentido

```bash
# MALO - palabras sin valor
user-info.py
config-data.json

# BUENO - cada palabra aporta
user-profile.py
database-configuration.json
```

### 4. Nombres Pronunciables

```python
# MALO
gen_ymdhms = datetime.now()

# BUENO
generation_timestamp = datetime.now()
```

### 5. Nombres Buscables

```bash
# MALO
t.sh
v.json

# BUENO
test-git-pre-commit.sh
validate-hardware-requirements.json
```

### 6. Evitar Codificaciones

```python
# MALO - Hungarian Notation
str_name = "John"
int_count = 5

# BUENO - Type hints
name: str = "John"
count: int = 5
```

### 7. Sin Traduccion Mental

```bash
# MALO
workflow_t003.md # Que es T003?

# BUENO
workflow-implement-authentication.md
```

### 8. Una Palabra por Concepto

```bash
# MALO - inconsistente
validate-permissions.sh
check-hardware.sh
verify-network.sh

# BUENO - consistente
validate-permissions.sh
validate-hardware-requirements.sh
validate-network-configuration.sh
```

### 9. Architecture Reveals Intent

```bash
# MALO - revela HOW (numeracion, frameworks)
workflow_007_feature.md
epic_456_authentication.md

# BUENO - revela WHAT (proposito)
workflow-implement-feature-with-tdd.md
guide-authentication-with-2fa.md
```

---

## Vocabulario Consistente del Proyecto

### Verbos por Accion

| Accion | Verbo Estandar | Ejemplo |
|--------|----------------|---------|
| Validacion | `validate-*` | `validate-permissions.sh` |
| Configuracion | `setup-*` | `setup-database-schema.sh` |
| Pruebas | `test-*` | `test-git-pre-commit.sh` |
| Limpieza | `cleanup-*` | `cleanup-temp-files.sh` |
| Procesamiento | `process-*` | `process-user-authentication.sh` |
| Obtencion | `retrieve-*` | `retrieve-user-profile.py` |
| Creacion | `create-*` | `create-django-application.sh` |
| Actualizacion | `update-*` | `update-database-schema.sh` |
| Eliminacion | `delete-*` | `delete-expired-sessions.sh` |

### Sustantivos Comunes

| Concepto | Nombre Estandar | Evitar |
|----------|-----------------|--------|
| Configuracion | `*-configuration.json` | `*-config.json`, `*-cfg.json` |
| Perfil | `*-profile.py` | `*-info.py`, `*-data.py` |
| Requisitos | `*-requirements.txt` | `*-reqs.txt`, `*-deps.txt` |
| Autenticacion | `*-authentication.py` | `*-auth.py` (OK en contexto obvio) |
| Documentacion | `*-documentation.md` | `*-docs.md`, `*-doc.md` |

---

## Patrones de Naming por Tipo

### Scripts Python

```bash
# Patron: {verbo}-{sustantivo}-{contexto}.py
validate-hardware-requirements.py
process-user-authentication.py
retrieve-user-profile.py
```

### Scripts Bash

```bash
# Patron: {verbo}-{sustantivo}-{contexto}.sh
test-git-pre-commit.sh
setup-database-schema.sh
cleanup-temporary-files.sh
```

### Archivos de Configuracion

```bash
# Patron: {componente}-configuration.{ext}
database-configuration.json
network-configuration.yaml
application-settings.ini
```

### Workflows

```bash
# Patron: workflow-{verbo}-{sustantivo}-with-{metodo}.md
workflow-implement-feature-with-tdd.md
workflow-deploy-application-to-production.md
workflow-create-django-application.md
```

### Funciones Python

```python
# Patron: {verbo}_{sustantivo}_{contexto}
def validate_user_permissions(user_id: int, permission: str) -> bool:
pass

def process_authentication_request(credentials: Dict) -> AuthResult:
pass

def retrieve_user_profile(user_id: int) -> UserProfile:
pass
```

### Variables

```python
# Patron: {adjetivo}_{sustantivo} o {sustantivo}_{contexto}
current_timestamp = datetime.now()
authenticated_user = get_user()
database_configuration = load_config()
is_user_valid = validate_user()
has_permission = check_permission()
```

### Constantes

```python
# Patron: SCREAMING_SNAKE_CASE
DATABASE_CONNECTION_TIMEOUT = 30
MAXIMUM_RETRY_ATTEMPTS = 3
DEFAULT_USER_ROLE = "viewer"
```

---

## Ejemplos Malos vs Buenos

### Archivos

```bash
# MALO
wf_001.md
proc_usr.sh
cfg.json
t.py

# BUENO
workflow-create-django-application.md
process-user-authentication.sh
database-configuration.json
test-permission-validation.py
```

### Funciones

```python
# MALO
def proc(d):
pass

def get_data(id):
pass

def chk_usr(u):
pass

# BUENO
def process_user_authentication(user_data: Dict) -> bool:
pass

def retrieve_user_profile(user_id: int) -> UserProfile:
pass

def validate_user_permissions(user: User) -> bool:
pass
```

### Variables

```python
# MALO
t = datetime.now()
usr = get_user()
cfg = load()
d = {"key": "value"}
lst = []

# BUENO
current_timestamp = datetime.now()
authenticated_user = get_user()
application_configuration = load()
user_preferences = {"key": "value"}
active_sessions = []
```

---

## Casos Especiales del Proyecto IACT

### Restriccion: Sin Emojis

```markdown
# MALO
# Features Implementadas
- Autenticacion de usuarios
- Sistema de permisos

# BUENO (sin emojis)
# Features Implementadas
- Autenticacion de usuarios
- Sistema de permisos
```

### Convencion: Guiones vs Underscores

```bash
# Archivos: Preferir guiones (-)
workflow-implement-feature.md
validate-permissions.sh

# Python: Underscores segun PEP 8
def validate_user_permissions():
pass

user_profile = get_profile()
```

### Convencion: README en Mayusculas

```bash
# CORRECTO
README.md

# INCORRECTO
readme.md
Readme.md
```

---

## Como Aplicar

### Durante Code Review

1. Verificar checklist de naming en cada archivo nuevo
2. Sugerir rename si viola principios
3. Validar consistencia con vocabulario establecido
4. Asegurar que nombres revelan intencion (WHAT, no HOW)

### Durante Desarrollo

1. Nombrar pensando en el lector, no en el escritor
2. Si necesitas comentario para explicar nombre, el nombre esta mal
3. Buscar nombres existentes similares para mantener consistencia
4. Preguntar: "Alguien nuevo entendera esto sin contexto?"

### Refactoring

1. Identificar nombres que violan principios
2. Renombrar usando buscar/reemplazar
3. Actualizar tests y documentacion
4. Commit con mensaje: `refactor: rename {old} to {new} for clarity`

---

**Recuerda:** La guia completa esta en `docs/gobernanza/GUIA_ESTILO.md`

**Referencia:** Robert Martin - Clean Code (2008)
Loading
Loading