djls-domain-conventions

star 186

Use when editing Django template parser tags, validation errors, diagnostics, environment scanning, inspector data, Python environment inventory, or DJLS domain model code. Handles project-specific semantic and parser conventions.

joshuadavidthomas By joshuadavidthomas schedule Updated 5/11/2026

name: djls-domain-conventions description: Use when editing Django template parser tags, validation errors, diagnostics, environment scanning, inspector data, Python environment inventory, or DJLS domain model code. Handles project-specific semantic and parser conventions.

DJLS Domain Conventions

Use this for changes to template parsing, semantic validation, environment scanning, diagnostics, and inspector-derived project data.

Template parser

  • Node::Tag.bits excludes the tag name.
  • Example: {% load i18n %} becomes name: "load", bits: ["i18n"].
  • Functions processing bits work with tag arguments only.

Environment scanning

  • External rule/model scan orchestration lives in crates/djls-db/src/scanning.rs.
  • Project context, inspector data, and module resolution live in crates/djls-semantic/src/project/:
    • project.rs defines Project.
    • symbols.rs defines TemplateLibraries, TemplateLibrary, TemplateSymbol, and inspector response types.
    • resolve.rs handles Python module and model-file discovery.
    • python.rs handles interpreter discovery.
  • Static Python extraction lives in crates/djls-semantic/src/python/.

Validation errors

When adding or removing ValidationError variants, update:

  • errors.rs
  • djls-ide/src/diagnostics.rs S-code mapping
  • test helpers

Use:

rg "ValidationError" crates/ -g '*.rs'

Local runtime state

  • Server logs: ~/.cache/djls/djls.log.YYYY-MM-DD
  • Inspector cache: ~/.cache/djls/inspector/
Install via CLI
npx skills add https://github.com/joshuadavidthomas/django-language-server --skill djls-domain-conventions
Repository Details
star Stars 186
call_split Forks 10
navigation Branch main
article Path SKILL.md
More from Creator
joshuadavidthomas
joshuadavidthomas Explore all skills →