Estructura del repositorio

GitSCase crea una estructura de carpetas organizada para versionar tu proyecto de ScriptCase.

Vista general

mi-proyecto/
├── .gitignore
├── meta.json          (local, no viaja en Git)
├── map.json           (compartido, viaja en Git)
├── GITSCASE_CONTEXT.md
├── root/
│   ├── Admin/
│   │   └── form_usuarios/
│   │       ├── events/
│   │       ├── programming/
│   │       └── sql/
│   └── Reportes/
│       └── grid_ventas/
│           ├── events/
│           └── sql/
├── External_Libraries/
│   └── bootstrap/
│       ├── css/
│       └── js/
└── Internal_Libraries/
    ├── sys/
    ├── grp/
    └── usr/

Archivos raíz

meta.json (local)

Archivo local que está en .gitignoreno viaja en Git.

{
  "id": "abc123",
  "repoPath": "C:/Users/usuario/repos/mi-proyecto"
}

¿Por qué es local?

Cada desarrollador tiene su propia ruta de carpeta. Tu compañero puede tener el repo en D:\Proyectos\ y tú en C:\Repos\. Este archivo guarda tu ruta personal.

map.json (compartido)

Archivo compartido que viaja en Git.

{
  "projectName": "MiProyecto",
  "createdAt": "2026-04-01T10:00:00.000Z",
  "updatedAt": "2026-05-05T15:30:00.000Z",
  "apps": {
    "root/Admin": {
      "events": ["onExecute", "onValidate"],
      "methods": ["validarUsuario", "enviarEmail"],
      "sql": true
    }
  }
}

¿Para qué sirve?

Contiene el mapeo completo de artefactos del proyecto. Permite que otros desarrolladores sepan qué eventos, métodos y SQL existen sin tener que explorar todo el proyecto.

.gitignore

Archivo que le dice a Git qué ignorar:

# Archivos locales de GitSCase
meta.json

# Archivos del sistema
.DS_Store
Thumbs.db

GITSCASE_CONTEXT.md

Documentación automática que explica cómo funciona el repositorio. Útil para nuevos miembros del equipo.

Carpetas de aplicaciones

Las aplicaciones se organizan por su ruta de carpeta en ScriptCase.

Estructura de una app

root/Admin/form_usuarios/
├── events/
│   ├── onExecute.php
│   ├── onValidate.php
│   └── onClick.php
├── programming/
│   └── php_methods/
│       ├── validarEmail.php
│       └── enviarNotificacion.php
└── sql/
    └── ComandoSelect.sql

Eventos PHP

Ruta: <carpeta>/<app>/events/<evento>.php

<?php
// onExecute.php
sc_lookup(ds, "SELECT * FROM usuarios WHERE id = {id}");
if ({ds} === false) {
    sc_error_message("Usuario no encontrado");
}
?>

Métodos PHP

Ruta: <carpeta>/<app>/programming/php_methods/<metodo>.php

<?php
// validarEmail.php
function validarEmail($email) {
    return filter_var($email, FILTER_VALIDATE_EMAIL);
}
?>

Consultas SQL

Ruta: <carpeta>/<app>/sql/ComandoSelect.sql

SELECT 
    id,
    nombre,
    email,
    fecha_registro
FROM usuarios
WHERE activo = 1
ORDER BY nombre

Librerías externas

Ruta: External_Libraries/<libreria>/<archivo>

External_Libraries/
├── bootstrap/
│   ├── css/
│   │   └── bootstrap.min.css
│   └── js/
│       └── bootstrap.min.js
└── jquery/
    └── jquery.min.js

Ejemplo de archivo:

/* External_Libraries/bootstrap/css/custom.css */
.mi-clase {
    color: #16a34a;
    font-weight: bold;
}

Librerías internas

Ruta: Internal_Libraries/<scope>/<archivo>.php

Scopes:

  • sys — Pública (compartida entre todos los proyectos)
  • grp — Proyecto (específica del proyecto actual)
  • usr — Usuario (personal del usuario)
Internal_Libraries/
├── sys/
│   ├── utilidades.php
│   └── validaciones.php
├── grp/
│   └── helpers_proyecto.php
└── usr/
    └── mis_funciones.php

Ejemplo de archivo:

<?php
// Internal_Libraries/sys/utilidades.php
function formatearFecha($fecha) {
    return date('d/m/Y', strtotime($fecha));
}
?>

Ventajas de esta estructura

  • Organizada — Fácil de navegar y entender
  • Predecible — Siempre sabes dónde está cada archivo
  • Compatible con Git — Funciona con GitHub, GitLab, Bitbucket, etc.
  • Escalable — Soporta proyectos grandes sin problemas
  • Colaborativa — Múltiples desarrolladores pueden trabajar sin conflictos

Abrir con otros programas

Puedes abrir esta carpeta con cualquier herramienta:

  • GitHub Desktop — Para hacer commits y push
  • VS Code — Para ver y editar archivos
  • Git CLI — Para comandos avanzados
  • Explorador de Windows — Para navegar los archivos

Es un repositorio Git normal. Puedes usar cualquier herramienta Git que conozcas.

Próximos pasos

Pregunta cualquier cosa sobre la documentación