본문으로 건너뛰기
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(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

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 / 1,000자

이 양식은 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의 스킬 모두 보기

이 스킬의 문제 신고