Skip to main content
Glama
Kaifazad

Style DNA Ghostwriter

by Kaifazad

Style DNA Ghostwriter

Aprende las convenciones no escritas de un código base. Escribe código que encaje.

License: MIT Python Tests


El problema

Las guías de estilo y los linters solo aplican reglas que un equipo se molestó en escribir. El resto de la personalidad real de un código base —cómo se manejan los errores, cómo se estructuran los componentes, si se prefieren funciones flecha o declaraciones, cómo se usan las utilidades de Tailwind o los módulos CSS, qué tan verbosos son realmente los docstrings— no vive en ningún sitio excepto en el propio código. El código generado por IA ignora todo eso y por defecto adopta un estilo genérico y de libro de texto, que es exactamente lo que lo hace destacar como algo que no encaja del todo.

Style DNA Ghostwriter soluciona esto aprendiendo las convenciones como lo haría un nuevo ingeniero senior: leyendo el código, no la página wiki que nadie actualizó.

$ style-dna analyze ./my_web_app

Analyzed 42 files from './my_web_app' (0 Python, 42 Web).
Style profile saved to: style_profile.json

## Web Conventions
- Detected frameworks/tools: Next.js, React, Tailwind CSS, TypeScript.

### JavaScript / TypeScript
- Use single quotes for JS/TS strings.
- Omit semicolons at end of statements.
- Prefer arrow functions (`const fn = () => {}`).
- Prefer named exports.
- Use path aliases (`@/...`) for imports instead of deep relative paths.
- Prefer `interface` over `type` for object shapes in TypeScript.

### React / Next.js
- Next.js routing: App Router (`app/`).
- Define React components as arrow functions (`const Button = () => ...`).
- Component file naming: PascalCase.
- ~40% of components use 'use client' directive.
- State management: zustand.

### CSS / Styling
- Styling approach: Tailwind CSS utility classes.
- Uses CSS custom properties (`var(--token-name)`) for design tokens.
- Preferred color format: HSL.

Related MCP server: Coding Standards MCP Server

Funciona con cualquier agente de codificación

Un solo comando conecta el estilo extraído a todos los agentes que usa tu equipo — sin complementos, sin configuración por herramienta:

style-dna init

Esto escribe las reglas directamente en los archivos de convenciones que los agentes ya leen al inicio de la sesión:

Archivo

Leído automáticamente por

GEMINI.md

Google Antigravity y Gemini Code Assist

CLAUDE.md

Claude Code

AGENTS.md

Google Antigravity, Codex, OpenCode y herramientas que siguen el estándar AGENTS

.cursorrules

Cursor

.windsurfrules

Windsurf

.github/copilot-instructions.md

GitHub Copilot

Para los agentes que hablan el Model Context Protocol (Claude Code, Cursor y otros), style-dna init también imprime una configuración MCP lista para pegar para que el agente pueda obtener las reglas en vivo en lugar de desde un archivo estático:

{
  "mcpServers": {
    "style-dna": {
      "command": "style-dna",
      "args": ["mcp"]
    }
  }
}

Herramientas MCP expuestas: analyze_repo, get_style_rules, refresh_style_profile.


Lo que extrae

Pila / Categoría

Señales extraídas

Python

Estilo de mayúsculas/minúsculas en funciones/variables, tasa de prefijo privado (_name), estilo de docstring (Google/NumPy/reST/plano) y cobertura, tasa de anotaciones de tipo, manejo de errores (excepciones amplias vs específicas vs personalizadas), estilo de comillas, orden de importaciones, longitud media de funciones, patrones comunes (@dataclass, Protocol, async, etc.)

JavaScript / TypeScript

Punto y coma (siempre vs nunca), estilo de comillas (simple / doble), funciones flecha vs declaraciones de función, exportaciones nombradas vs por defecto, alias de ruta de importación (@/...), preferencia de interface vs type en TypeScript, cobertura de tipado, estilo de comentarios (JSDoc/en línea/bloque)

React / Next.js

App Router (app/) vs Pages Router (pages/), Componentes de Servidor vs Cliente (tasa de 'use client'), Acciones de Servidor ('use server'), estilo de componentes, patrones de hooks personalizados (use*), gestión de estado (Zustand, Redux, Context, TanStack Query, SWR, Jotai, Recoil), detección de framework

CSS y Estilos

Tailwind CSS vs CSS Modules (*.module.css) vs CSS-in-JS vs CSS Vanilla, convenciones de nombres de clases (BEM / kebab-case / camelCase), tokens de diseño de propiedades personalizadas CSS (var(--token)), formatos de color (HEX, HSL, RGB)

HTML

Estilo de sangría (2 espacios / 4 espacios / tabs), estilo de comillas en atributos (" vs '), tasa de uso de marcado semántico (<header>, <main>, <section>, etc.)


Cómo funciona

  1. analyze recorre un código base y analiza cada archivo fuente sin dependencias externas de binarios o compiladores. Un conjunto de extractores especializados y conectables se ejecuta sobre los árboles de análisis sintáctico y los tokens fuente para construir un StyleProfile — una huella digital estructurada y versionable guardada como style_profile.json.

  2. init ejecuta analyze, luego inyecta ese perfil en los archivos de convenciones estándar de los agentes (CLAUDE.md, AGENTS.md, .cursorrules, etc.) rodeado de marcadores de actualización limpios (<!-- style-dna:start --> ... <!-- style-dna:end -->).

  3. generate (opcional) convierte el perfil en un prompt de sistema y llama directamente a la API de Claude, para equipos que quieran código escrito desde la terminal.

style-dna-ghostwriter/
├── style_dna/
│   ├── analyzer.py         # multi-language codebase scanner
│   ├── profile.py          # StyleProfile data model + save/load + multi-stack rules
│   ├── generator.py        # profile -> system prompt -> Claude API call
│   ├── mcp_server.py       # MCP server exposing tools for agents
│   ├── conventions.py      # upserts rules into CLAUDE.md/AGENTS.md/.cursorrules/etc.
│   ├── cli.py              # `style-dna` CLI (init, analyze, show, generate, mcp)
│   └── extractors/         # Python, JS/TS, React/Next.js, CSS/Tailwind, HTML
├── examples/
│   ├── sample_repo/        # Python test fixture
│   └── sample_web_repo/    # Next.js 14 + React TSX + Tailwind test fixture
└── tests/                  # Complete test suite

Instalación

# Core only (zero external dependencies):
pip install -e .

# With MCP server support:
pip install -e ".[mcp]"

# With direct Claude code generation support:
pip install -e ".[generate]"

# All features:
pip install -e ".[all]"

Uso

# One-shot setup for any repo (Python, React, Next.js, etc.):
style-dna init

# Inspect codebase style rules:
style-dna analyze ./my_repo --out style_profile.json
style-dna show style_profile.json
style-dna show style_profile.json --format json

# Direct generation (requires ANTHROPIC_API_KEY):
export ANTHROPIC_API_KEY=sk-...
style-dna generate style_profile.json \
  "Write a React component that displays a product card with add to cart button" \
  --out ProductCard.tsx

Como biblioteca de Python:

from style_dna import analyze_codebase
from style_dna.generator import generate_code

profile = analyze_codebase("./my_repo")
code = generate_code(profile, "Add a custom hook to manage user favorites")

Pruebas

pip install -e ".[dev]"
python -m pytest tests/ -v

Licencia

Publicado bajo la Licencia MIT.


Creado por Kaifazadkaifazad.in

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    D
    maintenance
    Code linting and style checking tools for AI agents, exposed as an MCP server. Supports style checks, naming conventions, complexity analysis, dead code detection, and import analysis.
    55
    MIT
  • A
    license
    -
    quality
    D
    maintenance
    Provides a CLI and MCP server for scanning repositories to generate evidence-backed, project-specific instruction files for AI coding assistants, ensuring AI behavior aligns with existing codebase conventions.
    1
    15
    Apache 2.0
  • A
    license
    -
    quality
    B
    maintenance
    Scans your source code using AST analysis to detect coding conventions, error handling, API patterns, and more, then generates a CONVENTIONS.md file to help AI agents follow your project's style.
    MIT

View all related MCP servers

Related MCP Connectors

  • Lints + auto-fixes how AI coding agents discover any new product. 24 rules, 6 tools, score 0-100.

  • Repo intel for AI coding agents: overview, PRs, contributors, hot files, CI, deps. Remote MCP.

  • Hosted MCP server for structured code review passes on human- and AI-written code. Free tier.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Kaifazad/Style-DNA-Ghostwriter'

If you have feedback or need assistance with the MCP directory API, please join our Discord server