mirror of
https://github.com/penpot/penpot.git
synced 2026-08-01 10:56:20 +00:00
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
111 lines
2.9 KiB
Markdown
111 lines
2.9 KiB
Markdown
---
|
|
name: taiga
|
|
description: Fetch information from Taiga public API for the Penpot project (id 345963) — issues, user stories, and tasks, without authentication.
|
|
metadata: {"clawdbot":{"requires":{"bins":["python3"]}}}
|
|
---
|
|
|
|
# Taiga API Skill
|
|
|
|
Fetch information from Taiga public API for the **Penpot** project
|
|
(project id: `345963`, slug: `penpot`).
|
|
|
|
**No authentication required** — only public project data is accessed.
|
|
|
|
## Prerequisites
|
|
|
|
- `python3` — the `scripts/taiga.py` CLI script is self-contained (stdlib only)
|
|
|
|
## Quick Start
|
|
|
|
The easiest way is to use the bundled Python script:
|
|
|
|
```bash
|
|
# Pass a Taiga URL directly
|
|
python3 scripts/taiga.py https://tree.taiga.io/project/penpot/issue/13714
|
|
|
|
# Or use "<type> <ref>" syntax
|
|
python3 scripts/taiga.py us 14128
|
|
python3 scripts/taiga.py task 13648
|
|
|
|
# Add --json for raw output
|
|
python3 scripts/taiga.py --json issue 13714
|
|
|
|
# See full usage
|
|
python3 scripts/taiga.py --help
|
|
```
|
|
|
|
## URL Pattern Reference
|
|
|
|
Taiga web URLs follow these patterns:
|
|
|
|
| Type | Web URL Pattern |
|
|
|------|----------------|
|
|
| Issue | `https://tree.taiga.io/project/penpot/issue/<REF>` |
|
|
| User Story | `https://tree.taiga.io/project/penpot/us/<REF>` |
|
|
| Task | `https://tree.taiga.io/project/penpot/task/<REF>` |
|
|
|
|
To extract the **type** and **ref** from a URL:
|
|
- `issue/13714` → type=`issue`, ref=`13714`
|
|
- `us/14128` → type=`us`, ref=`14128`
|
|
- `task/13648` → type=`task`, ref=`13648`
|
|
|
|
## Python Script Reference
|
|
|
|
The `scripts/taiga.py` script wraps the Taiga API into a single convenient CLI
|
|
with sensible defaults.
|
|
|
|
### Usage
|
|
|
|
```
|
|
python3 scripts/taiga.py <taiga-url>
|
|
python3 scripts/taiga.py <type> <ref>
|
|
python3 scripts/taiga.py [--json] <taiga-url>
|
|
python3 scripts/taiga.py [--json] <type> <ref>
|
|
```
|
|
|
|
### Examples
|
|
|
|
```bash
|
|
# By URL (recommended — no need to think about type/ref)
|
|
python3 scripts/taiga.py https://tree.taiga.io/project/penpot/issue/13714
|
|
|
|
# By type and ref
|
|
python3 scripts/taiga.py us 14128
|
|
python3 scripts/taiga.py task 13648
|
|
|
|
# Raw JSON output
|
|
python3 scripts/taiga.py --json issue 13714
|
|
```
|
|
|
|
### Output
|
|
|
|
The script prints a clean, structured summary:
|
|
|
|
```text
|
|
User Story #11964 — 🔴 [DESIGN TOKENS] Typography Composite Input
|
|
================================
|
|
Status: Defining
|
|
Milestone: design-systems-sprint-26
|
|
Points: 3 role(s)
|
|
Assignee: Natacha Menjibar
|
|
Author: Natacha Menjibar
|
|
Created: 2025-09-01
|
|
Tags: iop-design-tokens
|
|
URL: https://tree.taiga.io/project/penpot/us/11964
|
|
================================
|
|
<full description text, unmodified>
|
|
```
|
|
|
|
The fields section includes type-specific information:
|
|
- **Issues:** Status, Type ID, Severity ID, Priority ID
|
|
- **User Stories:** Status, Milestone, Points
|
|
- **Tasks:** Status, Milestone, Parent US
|
|
|
|
## Reference
|
|
|
|
- API docs: https://docs.taiga.io/api.html
|
|
- Taiga instance: https://tree.taiga.io
|
|
- API base: https://api.taiga.io/api/v1
|
|
- Penpot project id: `345963`
|
|
- Penpot project slug: `penpot`
|