desarrollo · Referencia de comando
qzx projectLanguages
Qué hace
Perfila los lenguajes fuente y formatos auxiliares de un proyecto con porcentajes por líneas, archivos y bytes.
Comando canónico: projectLanguages
Alias aceptados: auditLanguages
Distingue mayúsculas: no
Incluido en el paquete publicado
Disponible en PyPI 0.2.2.0.2. La documentación corresponde al checkout alpha 0.2.2.0.2.
Seguridad y efectos
Solo lectura según la clasificación actual
Sin parámetro dry-run documentado
No invoca programas nativos según la clasificación
Sin uso de red documentado
No requiere elevación de forma inherente
Esta clasificación de seguridad se revisó contra el digest de implementación sha256:5fe2603fc2337bacb6ba658ea7027a199c6bd9c373134d05ef3cb6701583aed9 el 2026-07-25.
Sintaxis exacta
qzx projectLanguages [scan_path] --jsonParámetros
| Nombre | Tipo | Obligatorio | Predeterminado | Descripción |
|---|---|---|---|---|
| scan_path | str | No | "." | Project directory or source file to analyze (defaults to current directory) |
Ejemplos de entrada
qzx projectLanguagesProfile languages in the current project
qzx projectLanguages "src/"Profile languages in the src/ directory
qzx auditLanguagesUse the compatibility alias for the former command name
Para obtener la carga estructurada completa, añade --json: qzx projectLanguages [scan_path] --json
Ejemplo de salida observada
Capturado con QZX 0.2.2.0.2 en Windows 11; código de salida 0. Los valores dependientes del host y la duración pueden variar.
Comando del ejemplo: qzx projectLanguages ../artifacts/qzx-evidence/language-profile --json
{
"success": true,
"scan_path": "C:\\Team Dropbox\\Valis Idealis\\Ale\\Programacion\\QZX - Quick Zap Exchange\\artifacts\\qzx-evidence\\language-profile",
"scan_kind": "directory",
"scan_complete": true,
"composition_basis": "source_code_lines",
"summary": {
"visited_files": 20,
"recognized_files": 20,
"ignored_files": 0,
"ignored_directories": 0,
"generated_files": 0,
"binary_files": 0,
"unknown_files": 0,
"oversized_files": 0,
"symlinks_skipped": 0,
"analyzed_files": 20,
"source_language_count": 3,
"supporting_format_count": 0,
"total_language_count": 3,
"primary_language": "PHP",
"source_files": 20,
"source_bytes": 380,
"source_bytes_formatted": "380.00 B",
"source_code_lines": 20,
"recognized_bytes": 380,
"recognized_bytes_formatted": "380.00 B",
"recognized_total_lines": 20,
"recognized_code_lines": 20,
"recognized_comment_lines": 0,
"recognized_blank_lines": 0
},
"languages": [
{
"language": "PHP",
"kind": "programming",
"aliases": [
"php",
"php3",
"php4",
"php5"
],
"composition_percentage": 90,
"file_count": 18,
"file_percentage": 90,
"bytes": 342,
"bytes_formatted": "342.00 B",
"byte_percentage": 90,
"total_lines": 18,
"code_lines": 18,
"code_percentage": 90,
"comment_lines": 0,
"blank_lines": 0,
"extensions": [
{
"extension": ".php",
"file_count": 18
}
],
"detected_variants": [
{
"name": "PHP",
"file_count": 18
}
],
"example_files": [
"page-0.php",
"page-1.php",
"page-10.php",
"page-11.php",
"page-12.php"
]
},
{
"language": "CSS",
"kind": "stylesheet",
"aliases": [
"css"
],
"composition_percentage": 5,
"file_count": 1,
"file_percentage": 5,
"bytes": 24,
"bytes_formatted": "24.00 B",
"byte_percentage": 6.32,
"total_lines": 1,
"code_lines": 1,
"code_percentage": 5,
"comment_lines": 0,
"blank_lines": 0,
"extensions": [
{
"extension": ".css",
"file_count": 1
}
],
"detected_variants": [
{
"name": "CSS",
"file_count": 1
}
],
"example_files": [
"style.css"
]
},
{
"language": "Python",
"kind": "programming",
"aliases": [
"bazel",
"py",
"py3",
"pyi",
"python",
"python3",
"sage",
"starlark"
],
"composition_percentage": 5,
"file_count": 1,
"file_percentage": 5,
"bytes": 14,
"bytes_formatted": "14.00 B",
"byte_percentage": 3.68,
"total_lines": 1,
"code_lines": 1,
"code_percentage": 5,
"comment_lines": 0,
"blank_lines": 0,
"extensions": [
{
"extension": ".py",
"file_count": 1
}
],
"detected_variants": [
{
"name": "Python",
"file_count": 1
}
],
"example_files": [
"tool.py"
]
}
],
"supporting_formats": [],
"exclusions": {
"respected_ignore_files": [],
"built_in_directory_names": [
".angular",
".git",
".gradle",
".hg",
".idea",
".mypy_cache",
".next",
".nox",
".nuxt",
".pytest_cache",
".ruff_cache",
".svelte-kit",
".svn",
".tox",
".venv",
".vscode",
"__pycache__",
"bower_components",
"build",
"coverage",
"dist",
"env",
"node_modules",
"target",
"vendor",
"venv"
],
"ignored_files_encountered": 0,
"ignored_directories_encountered": 0,
"generated_files": 0,
"generated_examples": [],
"binary_files": 0,
"binary_examples": [],
"oversized_files": 0,
"oversized_examples": [],
"max_file_size_bytes": 5242880,
"max_file_size_formatted": "5.00 MB",
"symlinks_skipped": 0
},
"unclassified": {
"file_count": 0,
"extensions": [],
"example_files": []
},
"scan_errors": [],
"analysis_engine": {
"language_detection": "Pygments",
"language_detection_version": "2.20.0",
"ignore_matching": "pathspec",
"ignore_matching_version": "1.1.1",
"percentage_precision": 2
},
"total_files": 20,
"languages_found": {
"PHP": 18,
"CSS": 1,
"Python": 1
},
"message": "QZX Project Languages Profile\n- Scanned path: C:\\Team Dropbox\\Valis Idealis\\Ale\\Programacion\\QZX - Quick Zap Exchange\\artifacts\\qzx-evidence\\language-profile\n- Composition basis: source code lines\n- Analyzed: 20 recognized files, 20 code lines, 380.00 B\n\nSource language composition:\n - PHP: 90.00% (18 files, 18 code lines)\n - CSS: 5.00% (1 file, 1 code line)\n - Python: 5.00% (1 file, 1 code line)\n\nExcluded or unclassified: 0 ignored directories, 0 ignored files, 0 generated files, 0 binary files, 0 oversized files, 0 unknown text files.\nDetection used Pygments for maintained language definitions and pathspec for gitignore-style exclusions.",
"meta": {
"command": "projectLanguages",
"duration_ms": 1576.56,
"schema_version": 1
}
}Ver el contrato de resultado JSON
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"required": [
"success",
"message"
],
"properties": {
"success": {
"type": "boolean"
},
"message": {
"type": "string"
},
"analysis_engine": {
"type": "object",
"properties": {
"language_detection": {
"type": "string"
},
"language_detection_version": [],
"ignore_matching": {
"type": "string"
},
"ignore_matching_version": [],
"percentage_precision": {
"type": "integer"
}
},
"additionalProperties": true
},
"composition_basis": [],
"error": {
"type": "string"
},
"error_code": {
"type": "string"
},
"exclusions": [],
"languages": [],
"languages_found": [],
"missing_dependencies": {
"type": "array"
},
"remediation": {
"type": "string"
},
"scan_complete": [],
"scan_errors": [],
"scan_kind": {
"type": "string"
},
"scan_path": [],
"summary": [],
"supporting_formats": [],
"total_files": [],
"unclassified": []
},
"additionalProperties": true
}Errores y límites
El contrato público exige success=false y un message descriptivo en fallos. Este catálogo aún no declara una taxonomía de errores específica para cada comando; revisa el resultado y no infieras códigos inexistentes.
QZX está en alpha. Dependencias opcionales, permisos y capacidades del host pueden cambiar el resultado.
Flujo de evidencia: capturada y validada por digest.
Evidencia y procedencia
- Implementación
- src/qzx/commands/development/project_languages.py
- Canal de documentación
- Documentación de desarrollo 0.2.2.0.2 · main · sha256:319b16857a87636ebc3b89734cc040a737bb56194464fca33ce73bdae2043096
- Disponibilidad
- 0.2.2.0.2 o anterior
Sigue explorando
Comandos relacionados
Estos comandos también pertenecen a la categoría de desarrollo. Compáralos para elegir la operación que mejor resuelva tu tarea.
qzx projectDoctorInspecciona tecnologías, dependencias, entorno, Git, pruebas, importaciones circulares, código muerto y archivos grandes.qzx releaseProjectGestiona el flujo de release: versiones, CHANGELOG, build, hashes, commit y tag, con dry-run.qzx getProjectTreeGenera un árbol visual limpio en ASCII y JSON, excluyendo directorios pesados como node_modules.qzx scaffoldCCrea una estructura básica para un programa en C.