Andrey Antukh f3bf24b4f6 ♻️ Consolidate dev tooling into scripts/ and reorganize docs
Move all development tools from tools/ to scripts/ for consistency.
Rename lint/fmt/check-fmt to lint-clj/fmt-clj/check-fmt-clj to clarify
they target Clojure specifically. Remove unused scripts (attach-opencode,
start-opencode, start-opencode-server) and the backport-commit skill.

Update all internal references across .serena/, AGENTS.md, and
CONTRIBUTING.md to point to the new script locations. Simplify
CONTRIBUTING.md by delegating module-specific fmt/lint instructions
to the respective serena memories.

AI-assisted-by: deepseek-v4-flash
2026-07-22 09:18:06 +02:00

1.2 KiB

Taiga API client

scripts/taiga.py fetches public issues, user stories, and tasks from the Penpot Taiga project (id 345963) without authentication.

When to use

  • Fetching details of a Taiga issue, user story, or task by URL or ref number.
  • Inspecting status, assignee, tags, description, and other metadata.
  • Piping structured JSON into other scripts (with --json).

How to use

# Fetch by full Taiga URL
python3 scripts/taiga.py https://tree.taiga.io/project/penpot/issue/13714

# Fetch by type and ref number
python3 scripts/taiga.py issue 13714
python3 scripts/taiga.py us 14128
python3 scripts/taiga.py task 13648

# Output raw JSON instead of formatted summary
python3 scripts/taiga.py --json issue 13714
python3 scripts/taiga.py --json https://tree.taiga.io/project/penpot/us/14128

Supported types

Type Description
issue Bug reports, feature requests
us User stories
task Implementation tasks

Output

Default output is a formatted summary with title, status, assignee, author, tags, URL, and description. Use --json for the raw API response.

Prerequisites

  • Python 3.8+ (standard library only, no dependencies).
  • Network access to api.taiga.io.