跳到正文
cccskills
免费在 GitHub 公开

djls-domain-conventions

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/django-language-server星标 207(GitHub 207 + cccskills 0)

实测评分 未实测

查看安装方法

包含的文件(1)

  • SKILL.md2.4 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

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.
  • Extracted text and its span are computed by the same parse, in the crate that owns the syntax. Do not re-derive quote/content spans in semantic or IDE consumers.

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

Quick-fix edits are derived from typed ValidationError values against the current Salsa snapshot inside the request handler. Keep Diagnostic.data as None; do not serialize internal error or edit shapes into the LSP wire contract.

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'

Semantic model

  • Cross-file semantic queries depend on small per-file derived products (e.g. template_symbols), never on other files' full parses directly.
  • Code over config: tag-spec knowledge acquisition prefers static extraction from Python source; tagspec config is a last-resort escape hatch, never primary.
  • Semantic features bind to TagRole, never tag names.
  • Derived project facts carry explicit completeness/termination states (e.g. ChainEnd, TemplateDirStatus); consumers branch on them rather than inferring from emptiness.

Local runtime state

  • Server logs: ~/.cache/djls/djls.log.YYYY-MM-DD (newest seven kept)
  • Inspector cache: ~/.cache/djls/inspector/

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

dex

免费

Manage tasks via dex CLI. Use when breaking down complex work, tracking implementation items, or persisting context across sessions.

中文简介正在准备中。当前显示原文说明。

joshuadavidthomas/django-language-server2072026年10月22日 更新

Use when adding release notes, changelog entries, user-facing changes, internal changelog notes, or preparing a PR/release for django-language-server. Handles Keep a Changelog formatting and entry style.

中文简介正在准备中。当前显示原文说明。

joshuadavidthomas/django-language-server2072026年10月22日 更新

Maintain the ported ty resolver test corpus in crates/djls-project/tests/resolve.rs. Use when bumping the ruff git pin in the workspace Cargo.toml or when adding/reviewing module-resolution tests.

中文简介正在准备中。当前显示原文说明。

joshuadavidthomas/django-language-server2072026年10月22日 更新

Use when editing djls-extraction or Rust code that consumes Ruff Python AST APIs, including parse_module, parameters, boxed expressions, f-strings, or exception handlers. Handles known Ruff AST shape gotchas in django-language-server.

中文简介正在准备中。当前显示原文说明。

joshuadavidthomas/django-language-server2072026年10月22日 更新

Use when editing Salsa inputs, tracked functions, database traits, setters, SemanticDb, crate::Db, invalidation behavior, or incremental computation in django-language-server. Handles project-specific Salsa conventions and required impl updates.

中文简介正在准备中。当前显示原文说明。

joshuadavidthomas/django-language-server2072026年10月22日 更新

Use when running tests, fixing failing tests, updating snapshots, syncing corpus data, validating before push, or working with Django matrix testing in django-language-server. Handles cargo, just, nox, insta, corpus, clippy, fmt, and lint commands.

中文简介正在准备中。当前显示原文说明。

joshuadavidthomas/django-language-server2072026年10月22日 更新

查看 joshuadavidthomas 的全部技能

报告此技能的问题