Documentacion oficial de CB Studios creada con Docsify.
Este repositorio no es una app con backend. Es una web estatica de documentacion: index.html carga Docsify, Docsify lee archivos .md, y el menu lateral se arma desde _sidebar.md.
Repositorio publico, contenido propietario: el codigo de la web, la documentacion, el diseno, los templates, la metadata y los assets originales de este repositorio estan protegidos por LICENSE.md. La visibilidad publica no autoriza reventa, redistribucion, clonacion comercial, rebranding ni publicacion de versiones derivadas. Los productos que declaran expresamente MIT, GPL u otra licencia conservan su licencia especifica.
La documentacion publica del sitio debe estar escrita en ingles profesional. Este README.md es una guia interna de mantenimiento en espanol para decidir que archivo tocar.
| Dato | Valor actual |
|---|---|
| Marca / tienda | CB Studios |
| Creator / owner name | pichirin_cb |
| Email oficial | pichirincb@gmail.com |
| Discord oficial | https://discord.gg/hsx6AvBg5s |
| GitHub oficial | https://github.com/Pichirin-CB?tab=repositories |
| Tienda oficial | https://pichirin-cb.tebex.io/ |
| Docs publicas | https://docs.pichirincb.com |
Dominio en CNAME |
docs.pichirincb.com |
| Referencia publica legal | Tampa, Florida, United States |
Decision importante: si cambia la tienda, GitHub, Discord, email, dominio o identidad, revisa home.md, getting-started.md, support.md, fxap.md, legal/, index.html, banner-config.js, templates y paginas de recursos que tengan enlaces oficiales.
Usa esta tabla para saber que archivo tocar segun lo que quieres cambiar.
| Necesito... | Tocar... | Nota |
|---|---|---|
| Cambiar la pagina inicial | home.md |
Es la pagina que carga Docsify por defecto. |
| Agregar o quitar opciones del menu | _sidebar.md |
Si una pagina no esta aqui, puede existir pero no aparece en el menu. |
| Crear documentacion de un script | scripts/ |
Copia scripts/template-script.md o templates/template-script.md. |
| Agregar una tarjeta al hub de productos | products-config.js |
Usa solo informacion verificada en la documentacion existente. |
| Cambiar productos destacados en Home | products-config.js |
Cambia featured: true o false. |
| Quitar temporalmente un recurso del sitio publico | _sidebar.md, products-config.js y el .md del recurso |
Si el .md queda en el repo, Docsify podria servirlo por ruta directa. |
| Crear documentacion de vehiculos | vehicles/ |
Copia templates/template-pack-vehicle.md. |
| Crear documentacion de sonidos | audio/ |
Copia templates/template-pack-sounds.md. |
| Crear documentacion de MLO o mapping | mlo-mapping/ |
Copia templates/template-mlo.md. |
| Crear o editar paginas legales | legal/ y _sidebar.md |
Las paginas legales ya estan enlazadas bajo LEGAL. |
| Crear una entrada de changelog | changelog.md o changelog/ |
Puedes copiar templates/template-changelog-entry.md. |
| Crear un README para un recurso externo | templates/template-readme.md |
Es plantilla para paquetes fuera de esta web. |
| Cambiar logo o imagenes | assets/branding/ o assets/categories/ |
El logo principal usado por la web esta en assets/branding/logo.png. |
| Activar o editar el banner superior | banner-config.js |
Cambia enabled, type, title, subtitle y cta. |
| Cambiar colores, layout o footer | index.html |
La mayor parte del CSS y el footer global estan dentro de este archivo. |
| Cambiar dependencias o scripts npm | package.json |
Solo necesario si cambias herramientas del proyecto. |
| Cambiar el dominio publicado | CNAME |
Actualmente apunta a docs.pichirincb.com. |
Docsify convierte archivos Markdown en paginas dentro del navegador.
Flujo general:
index.html
-> carga Docsify desde CDN
-> usa window.$docsify como configuracion
-> lee home.md como pagina inicial
-> lee _sidebar.md como menu lateral
-> carga banner-config.js para el banner superior
-> carga assets/ para logos e imagenes
-> agrega el footer global desde el hook afterEach
La configuracion importante esta dentro de index.html:
| Opcion | Valor actual | Para que sirve |
|---|---|---|
homepage |
home.md |
Define la pagina inicial. |
loadSidebar |
true |
Activa el menu desde _sidebar.md. |
subMaxLevel |
3 |
Muestra subtitulos de las paginas en el menu. |
maxLevel |
4 |
Nivel maximo de encabezados que Docsify procesa. |
search.paths |
auto |
Docsify indexa paginas automaticamente para busqueda. |
themeColor |
#34b6ff |
Color principal de Docsify. |
Decision importante: no cambies la configuracion de Docsify si solo estas agregando o editando contenido Markdown.
| Ruta | Uso |
|---|---|
_sidebar.md |
Menu lateral publico. |
home.md |
Pagina inicial. |
getting-started.md |
Guia inicial para clientes nuevos. |
products.md |
Pagina de todos los productos con filtros client-side. |
products-config.js |
Metadata estatica usada por Home y Products. |
guides/ |
Guias generales de instalacion y actualizacion. |
support.md, faq.md, problems.md, fxap.md |
Soporte, preguntas, problemas comunes y Asset Escrow. |
legal/ |
License Agreement, Terms, Copyright, Refund, Privacy y DMCA. |
scripts/ |
Documentacion de scripts y recursos tipo script. |
vehicles/ |
Documentacion de packs de vehiculos. |
audio/ |
Documentacion de packs de sonidos. |
mlo-mapping/ |
Documentacion de interiores, mapas y recursos de mapping. |
templates/ |
Plantillas base para crear nuevas paginas o docs de recursos. |
assets/ |
Carpeta base de imagenes, organizada por tipo. |
assets/branding/ |
Logo principal y logos de marcas/plataformas usados por sidebar, loader, Open Graph y footer. |
assets/categories/ |
Iconos pequenos usados en las tarjetas de categorias de Home. |
assets/products/ |
Reservado para imagenes especificas de productos. |
assets/ui/ |
Reservado para iconos o assets visuales de interfaz. |
banner-config.js |
Configuracion del banner superior global. |
index.html |
Docsify, CSS principal, plugins, footer y comportamiento visual. |
CNAME |
Dominio publico para GitHub Pages u hosting estatico similar. |
robots.txt, sitemap.xml |
Instrucciones basicas de indexacion para buscadores. |
LICENSE.md |
Licencia propietaria aplicable a la web, documentacion y materiales originales del repositorio. |
NOTICE.md |
Copyright, atribuciones, terceros y orden de precedencia de licencias. |
SECURITY.md |
Canal privado y reglas para reportar vulnerabilidades. |
CONTRIBUTING.md |
Condiciones para issues, pull requests y contribuciones. |
.github/ |
CODEOWNERS y plantilla de pull request para el repositorio publico. |
Assets de categorias usados en Home:
| Categoria | Asset |
|---|---|
| Scripts | assets/categories/scripts.png |
| Vehicle Packs | assets/categories/vehicle-packs.png |
| Audio Packs | assets/categories/audio-packs.png |
| MLO / Mapping | assets/categories/mlo-mapping.png |
| Free Resources | assets/categories/free-resources.png |
Decision importante: estos assets se muestran pequenos dentro de las tarjetas de categorias. Si los reemplazas, manten imagenes limpias y legibles en tamano reducido.
| Categoria | Paginas actuales | Uso |
|---|---|---|
| Home | home.md, getting-started.md, products.md |
Entrada principal, onboarding y productos. |
| Products | scripts/electric-cuba.md, scripts/cadeca-cuba.md, scripts/tactical-notify.md, scripts/apocalypse-extraction.md, vehicles/, audio/, mlo-mapping/ |
Recursos publicados o documentados, agrupados por tipo. |
| Guides | guides/installation.md, guides/updating-resources.md, fxap.md |
Instalacion, actualizacion y Asset Escrow. |
| Support | support.md, faq.md, problems.md, fxap.md |
Ayuda, dudas, problemas comunes y Asset Escrow. |
| Changelog | changelog.md |
Release notes generales. |
| Legal | legal/index.md, legal/license.md, legal/terms.md, legal/copyright.md, legal/refund.md, legal/privacy.md, legal/dmca.md |
Documentos legales oficiales. |
Decision importante: crear un archivo .md no basta. Para que aparezca en la navegacion, tambien debes enlazarlo en _sidebar.md.
La pagina products.md y la seccion de productos destacados de home.md usan:
products-config.js
Campos importantes:
| Campo | Uso |
|---|---|
slug |
Identificador interno estable. |
name |
Nombre mostrado en tarjetas. |
resource |
Nombre tecnico del recurso si esta documentado. |
category |
Categoria visible: Paid Scripts, Free Resources, Vehicle Packs, Audio Packs, MLO / Mapping. |
type |
paid, free o null si no esta claramente confirmado. |
docPath |
Ruta publica al .md. |
storeUrl |
Usa https://pichirin-cb.tebex.io/ si el recurso se obtiene desde Tebex, incluso si cuesta 0 USD. |
frameworks |
Solo frameworks documentados en la pagina del producto. |
status |
Estado documentado, por ejemplo Stable. |
featured |
true lo muestra en Home. |
description |
Resumen corto derivado de la documentacion existente. |
Decision importante: no inventes precios, versiones, ratings, descargas, clientes, tiempos de respuesta ni compatibilidades.
Comportamiento visual actual:
- Las tarjetas de productos se generan desde
products-config.js. - Cada tarjeta tiene botones fijos al fondo para que la posicion no dependa del largo de la descripcion.
- Cada tarjeta muestra
Docsy, sistoreUrlexiste,Store. - Los recursos gratis publicados en Tebex tambien deben tener
storeUrl. - Si algun recurso no tiene
storeUrl, el segundo boton cae aSupport.
Estado actual de productos:
| Recurso | Tipo | Tienda |
|---|---|---|
| Cuban Electric Company | paid | Tebex |
| CADECA Cuba Exchange | paid | Tebex |
| Tactical Notify | free / 0 USD |
Tebex |
| Apocalypse Extraction | free / 0 USD |
Tebex |
| SWAT Vehicle Pack | sin precio confirmado en docs | Tebex |
| Truck Vehicle Pack | sin precio confirmado en docs | Tebex |
| Car Sound Pack | sin precio confirmado en docs | Tebex |
| Industrial Truck Workshop | sin precio confirmado en docs | Tebex |
| Fortuna Hunting Wagon | free / open source | Support |
| Fortuna Hunting Zones | free / open source | Support |
Recurso retirado actualmente:
| Recurso | Nota |
|---|---|
| Welcome Pack | No esta publicado ni enlazado actualmente. No debe aparecer en _sidebar.md, products-config.js ni como pagina publica mientras no se este entregando. |
El sitio soporta modo claro y oscuro desde index.html.
- El tema por defecto es oscuro.
- Guarda preferencia en
localStoragecon la clavecb-theme. - El boton de tema se agrega automaticamente en el brand area del sidebar.
- Los colores se controlan con variables CSS en
:rooty:root[data-theme="light"].
Para probar:
- Abre el sitio local.
- Pulsa el boton de tema en el sidebar.
- Recarga la pagina.
- Confirma que el tema elegido persiste.
El sitio guarda la posicion de scroll por ruta usando localStorage con la clave cb-scroll-positions.
- Si entras a una pagina nueva, abre arriba.
- Si regresas a una pagina ya visitada, restaura la posicion exacta donde estabas.
history.scrollRestorationse controla manualmente desdeindex.htmlpara evitar saltos inconsistentes del navegador.
Decision importante: si cambias la navegacion por hash, revisa las funciones saveScrollPosition y restoreScrollPosition en index.html.
<a class="docs-button docs-button--primary" href="#/products">Browse Products</a>
<a class="docs-button" href="#/support">Support</a>
<a class="docs-button docs-button--ghost" href="https://pichirin-cb.tebex.io/" target="_blank" rel="noopener noreferrer">Store</a><div class="docs-callout docs-callout--warning">
<strong>Warning</strong>
<p>Back up your configuration before updating.</p>
</div>Variantes disponibles:
| Clase | Uso |
|---|---|
docs-callout--info |
Informacion general. |
docs-callout--important |
Aviso importante. |
docs-callout--warning |
Riesgo o precaucion. |
docs-callout--danger |
Error grave o accion destructiva. |
docs-callout--success |
Resultado correcto. |
docs-callout--tip |
Consejo practico. |
banner-config.js sigue siendo la fuente central.
Ademas de los campos existentes, ahora soporta:
dismiss: {
enabled: true,
storageKey: "cb-studios-banner-v1"
}Si quieres que el banner vuelva a aparecer para todos, cambia storageKey a un valor nuevo.
El footer y la navegacion inferior viven en index.html dentro del hook hook.afterEach.
Incluye columnas para:
- Products.
- Support.
- Official Links.
- Legal notice.
- Logos existentes.
Antes del footer se agrega una barra global con:
BackHomeAll Products
Decision recomendada: si cambias estos botones globales, revisa el hook hook.afterEach y el listener [data-page-back] en index.html.
Los enlaces externos deben usar:
target="_blank" rel="noopener noreferrer"| Tipo | Template recomendado | Carpeta final |
|---|---|---|
| Script | templates/template-script.md o scripts/template-script.md |
scripts/ |
| Vehicle pack | templates/template-pack-vehicle.md |
vehicles/ |
| Audio pack | templates/template-pack-sounds.md |
audio/ |
| MLO / Mapping | templates/template-mlo.md |
mlo-mapping/ |
| Changelog entry | templates/template-changelog-entry.md |
changelog.md o changelog/ |
| README externo de recurso | templates/template-readme.md |
Fuera del sitio Docsify o dentro del paquete del recurso |
Nota: scripts/template-script.md existe porque es la ruta mas directa para crear nuevos scripts desde la carpeta scripts/. La copia canonica tambien esta en templates/template-script.md.
Ejemplo: agregar un nuevo script pago.
- Copia el template:
scripts/template-script.md
- Pegalo con un nombre claro:
scripts/mi-nuevo-script.md
-
Edita el contenido del nuevo
.mden ingles profesional. -
Agrega el enlace en
_sidebar.mdbajo la categoria correcta:
- **PAID RESOURCES**
- [Nombre del Script](/scripts/mi-nuevo-script.md)- Arranca el sitio y revisa que el enlace cargue.
Decision importante: si el recurso es comercial, confirma que tenga una seccion License o que use el template actualizado.
El repositorio publico usa LICENSE.md como licencia raiz. package.json debe permanecer con "license": "UNLICENSED"; no se debe cambiar a MIT, ISC, GPL u otra licencia abierta salvo una decision expresa del propietario.
La licencia raiz no reemplaza licencias especificas declaradas por un producto o archivo. Por ejemplo, Fortuna Hunting Wagon y Fortuna Hunting Zones siguen bajo GPL-3.0-or-later, y Tactical Notify declara MIT en su propia documentacion.
La seccion legal vive en:
legal/
Paginas actuales:
| Pagina | Uso |
|---|---|
legal/license.md |
EULA / licencia de uso. Explica que comprar no transfiere propiedad del source code. |
legal/terms.md |
Terminos de servicio, compras, soporte, actualizaciones, chargebacks y Florida como jurisdiccion. |
legal/copyright.md |
Proteccion de scripts, source code, assets, branding, docs, audio, vehiculos y UI. |
legal/refund.md |
Politica de refunds para productos digitales. |
legal/privacy.md |
Informacion recogida: Discord IDs, Tebex, email, license keys, analytics y cookies. |
legal/dmca.md |
Proceso para reportes DMCA, counter notices y contacto legal. |
Datos legales actuales:
| Campo | Valor |
|---|---|
| Last updated | July 12, 2026 |
| Legal contact | pichirincb@gmail.com |
| Governing law | Laws of the State of Florida, United States |
| Dispute venue | Courts located in Florida, United States |
| Public location reference | Tampa, Florida, United States |
| Mailing address | Not publicly listed. Contact pichirincb@gmail.com. |
Decision importante: no publiques direccion fisica si no quieres que sea publica. Si algun dia registras un agente DMCA o empresa formal, actualiza legal/dmca.md y legal/terms.md.
El banner global se controla desde:
banner-config.js
Campos principales:
| Campo | Uso |
|---|---|
enabled |
true lo muestra, false lo oculta. |
type |
Cambia el estilo: info, alert, sale, maintenance, announcement, warning. |
layout |
full o compact. |
align |
center o left. |
icon |
Icono o texto corto mostrado al inicio. |
title |
Texto principal del banner. |
subtitle |
Texto secundario. Puede incluir HTML simple. |
cta.enabled |
Muestra u oculta el boton. |
cta.label |
Texto del boton. |
cta.url |
Enlace del boton. Actualmente debe apuntar a https://pichirin-cb.tebex.io/. |
cta.target |
_self abre en la misma pestana, _blank abre otra. |
Decision rapida:
- Para ocultar el banner:
enabled: false. - Para promocion:
type: "sale". - Para aviso urgente:
type: "alert"otype: "warning". - Para mantenimiento:
type: "maintenance".
No abras index.html directamente con file://.
Incorrecto:
file:///C:/Users/mlore/OneDrive/Escritorio/docs-cb-studios/index.html#/
Correcto:
http://localhost:3000
Docsify necesita un servidor local para poder cargar los archivos .md, el sidebar, la busqueda y los assets. Si abres el archivo directo, es normal ver errores como 404 not found.
La forma recomendada es usar doble clic en:
start.bat
Tambien existe:
star.bat
El .bat hace estas decisiones automaticamente:
- Entra en la carpeta correcta del proyecto.
- Verifica que exista Node.js.
- Usa
npm.cmd, que evita el bloqueo denpm.ps1en PowerShell. - Instala dependencias si falta
node_modules. - Busca un puerto libre entre
3000y3010. - Arranca Docsify.
- Abre el navegador con la URL correcta.
Deja abierta la ventana del .bat. Si la cierras, el servidor local se detiene.
Desde la carpeta del proyecto:
npm.cmd install
npm.cmd run devLuego abre:
http://localhost:3000
Si 3000 esta ocupado, cierra el otro servidor o usa start.bat, que busca otro puerto libre automaticamente.
La web tiene la mayoria de los estilos dentro de index.html, no en styles.css.
Antes de mover estilos, revisa esto:
index.htmlcontrola tema, layout, sidebar, loader, footer, banner y boton de scroll.styles.cssexiste, pero el sitio actual depende principalmente del CSS embebido enindex.html.- Cambiar colores globales normalmente se hace en las variables
:rootdentro deindex.html. - Cambiar logo del sidebar se hace reemplazando
assets/branding/logo.pngo editando el HTML generado por el plugin de Docsify enindex.html.
Decision recomendada: si solo vas a cambiar contenido, no toques index.html. Si vas a cambiar apariencia global, entonces si toca index.html.
El archivo CNAME indica el dominio publico:
docs.pichirincb.com
Como es un sitio Docsify estatico, normalmente se puede publicar con GitHub Pages u otro hosting estatico. Para publicar cambios, asegurrate de subir:
- Los
.mdnuevos o editados. _sidebar.mdsi cambiaste navegacion.assets/si agregaste imagenes.index.htmlsi cambiaste configuracion, estilos, footer o plugins.banner-config.jssi cambiaste el banner.CNAMEsi cambiaste el dominio.
No subas node_modules/; esta ignorado por .gitignore.
| Problema | Causa probable | Solucion |
|---|---|---|
404 not found al abrir file:// |
Se abrio index.html directo |
Usa start.bat y entra por http://localhost:PUERTO. |
PowerShell bloquea npm |
Windows bloquea npm.ps1 |
Usa npm.cmd install y npm.cmd run dev. |
El puerto 3000 esta ocupado |
Hay otro servidor abierto | Cierra el otro servidor o usa start.bat. |
| Una pagina existe pero no aparece | Falta enlace en _sidebar.md |
Agrega la pagina al menu. |
| El logo no carga | Ruta incorrecta o archivo faltante | Revisa assets/branding/logo.png. |
| El banner no aparece | enabled esta en false |
Cambia enabled: true en banner-config.js. |
| La busqueda no encuentra una pagina | Docsify no la indexo aun o no esta enlazada | Recarga la pagina y revisa que el .md sea accesible. |
| Un link interno no carga | Ruta incorrecta, archivo faltante o falta .md |
Revisa la ruta y confirma que existe el archivo. |
- Arranca con
start.batonpm.cmd run dev. - Revisa la pagina en
http://localhost:PUERTO. - Abre los enlaces nuevos desde el sidebar.
- Comprueba que no estas usando
file://. - Si agregaste una pagina, confirma que esta en
_sidebar.md. - Si agregaste assets, confirma que la ruta es correcta.
- Si cambiaste tienda, email o Discord, busca referencias antiguas con
rg. - Si cambiaste Legal, confirma que
legal/no tenga placeholders. - Si retiraste un recurso, confirma que no aparezca en
_sidebar.mdniproducts-config.js; documenta su estado en este README. - Revisa
git statuspara saber exactamente que archivos cambiaron.
Comandos utiles:
rg "store.pichirincb.com|pichirin-cb.tebex.io|pichirincb@gmail.com|discord.gg" .
rg "\[Insert|\[Month Day, Year\]" legal
rg "welcome-pack|Welcome Pack|cb_welcome" .
git status --shortEl proyecto usa:
{
"private": true,
"license": "UNLICENSED",
"docsify-cli": "^5.0.0"
}No necesitas instalar docsify-cli globalmente. El proyecto usa la dependencia local instalada en node_modules/. Docsify CLI 5 requiere Node.js 20.11.0 o superior.
Decision importante: private: true y UNLICENSED evitan que la metadata de npm contradiga los avisos legales de CB Studios.