$ trailmark analyze --language auto --summary /repos/leadscout-api
✓ Analysis complete
trailmark analyze --language auto --summary /repos/leadscout-api
## Step 1: Checking trailmark availability
✓ trailmark v0.9.4 found at /usr/local/bin/trailmark
──────────────────────────────────────────────────
## Step 2: Detecting languages via trailmark.parse API
$ python3 - "/repos/leadscout-api" <<PY
from trailmark.parse import detect_languages; import json, sys
print(json.dumps(detect_languages(sys.argv[1])))
PY
Detected languages: ["python", "typescript", "sql", "dockerfile", "yaml", "toml", "markdown"]
──────────────────────────────────────────────────
## Step 3: Running full summary analysis
$ trailmark analyze --language auto --summary /repos/leadscout-api
Detected Languages
python — 34 files, 4 523 LOC (primary)
typescript — 6 files, 879 LOC
sql — 3 files, 440 LOC
dockerfile — 1 file, 188 LOC
yaml — 2 files, 143 LOC
toml — 1 file, 64 LOC
markdown — 1 file, 47 LOC
Entrypoints: 14 found
FastAPI routes:
app/main.py:create_app()
app/api/v1/leads.py:router [GET /leads, POST /leads, GET /leads/{id}, DELETE /leads/{id}]
app/api/v1/scores.py:router [POST /scores/predict, GET /scores/batch]
app/api/v1/auth.py:router [POST /auth/login, POST /auth/refresh, POST /auth/logout]
CLI scripts:
scripts/train_model.py:main() — argparse entrypoint
scripts/migrate_db.py:main() — argparse entrypoint
scripts/seed_data.py:main() — argparse entrypoint
Dependencies: 23 direct, 187 transitive
[from pyproject.toml + requirements.txt]
Runtime (15): fastapi==0.111.0, uvicorn==0.29.0, pydantic==2.7.1, sqlalchemy==2.0.30,
asyncpg==0.29.0, alembic==1.13.1, scikit-learn==1.5.0, xgboost==2.0.3,
pandas==2.2.2, numpy==1.26.4, httpx==0.27.0, python-jose==3.3.0,
passlib==1.7.4, redis==5.0.4, celery==5.3.6
Dev/test (8): pytest==8.2.0, pytest-asyncio==0.23.6, httpx==0.27.0, faker==25.2.0,
ruff==0.4.4, mypy==1.10.0, pre-commit==3.7.1, coverage==7.5.1
──────────────────────────────────────────────────
## Step 4: Verifying output completeness
✓ Detected languages — present (7 languages)
✓ Entrypoints: — present (14 entrypoints)
✓ Dependencies: — present (23 direct / 187 transitive)
✓ All three required outputs verified. Summary complete.
Lenguajes detectados
7
Primary: Python (72 %)
Puntos de entrada
14
9 HTTP routes · 3 CLI scripts
Dependencias directas
23
187 transitivas · 0 conflictos
Puntos de entrada — detalle
FastAPI Routes 9
  • GET /api/v1/leads
  • POST /api/v1/leads
  • GET /api/v1/leads/{id}
  • DEL /api/v1/leads/{id}
  • POST /api/v1/scores/predict
  • GET /api/v1/scores/batch
  • POST /api/v1/auth/login
  • POST /api/v1/auth/refresh
  • POST /api/v1/auth/logout
CLI Scripts 3
  • scripts/train_model.py → main()
  • scripts/migrate_db.py → main()
  • scripts/seed_data.py → main()
Dependencias directas (runtime)
Paquete Versión Tipo Descripción
fastapi 0.111.0 web Framework HTTP asíncrono
uvicorn 0.29.0 infra Servidor ASGI (ASGI runner)
pydantic 2.7.1 core Validación y serialización de datos
sqlalchemy 2.0.30 db ORM async para PostgreSQL
asyncpg 0.29.0 db Driver PostgreSQL async nativo
alembic 1.13.1 db Migraciones de esquema SQL
scikit-learn 1.5.0 ml Pipeline de entrenamiento y preprocesado
xgboost 2.0.3 ml Modelo de scoring de leads (GBM)
pandas 2.2.2 ml Manipulación de features y datasets
numpy 1.26.4 ml Operaciones numéricas / vectorización
redis 5.0.4 infra Cache de predicciones + rate limiting
celery 5.3.6 infra Cola de tareas async (batch scoring)
python-jose 3.3.0 auth Generación y validación de JWT
passlib 1.7.4 auth Hashing de contraseñas (bcrypt)
httpx 0.27.0 core Cliente HTTP async para webhooks