joshuadavidthomas/django-language-server · Archived

djls-ruff-ast

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.

First seen Jun 18, 2026

Installation

$ npx skills add joshuadavidthomas/django-language-server --skill djls-ruff-ast

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 187
License LICENSE
Default branch main
Open issues 22
Status Archived

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 942 B
  • docs SUMMARY.md 255 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 2 installs

SKILL.md

DJLS Ruff AST

Use this before editing djls-extraction or code that consumes Ruff Python AST nodes.

Known API shapes

  • Parse modules with ruffpythonparser::parsemodule(source) and call .intosyntax() for ModModule AST.
  • Function defaults are per-parameter. There is no top-level defaults field.

- Use ParameterWithDefault { parameter, default: Option<Box<Expr>> }.

  • StmtWhile.test, StmtIf.test, and similar fields are Box<Expr>.

- Dereference with &* for pattern matching.

  • FStringValue uses .iter(), not .parts(), for FStringPart iteration.
  • ExceptHandler::ExceptHandler is irrefutable.

- Use let, not if let.