npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@pi-stef/atlassian

v0.4.1

Published

Pi extension and CLI for verified Atlassian Jira and Confluence tools.

Downloads

1,489

Readme

@pi-stef/atlassian

Pi extension and development CLI for Atlassian Jira and Confluence Cloud tools.

This package is implemented against the current Atlassian Cloud REST APIs:

  • Confluence REST v2 for page, space, comment, and label reads/writes where v2 covers the operation.
  • Jira platform REST v3 for project, issue, search, comment, worklog, link, version, field, user, and attachment operations.
  • Jira Software REST for Agile board, sprint, backlog, ranking, and epic operations.

Installation

npx pi-cli plugins install npm:@pi-stef/atlassian

Contents

Natural Language Usage

After credentials are configured, ask the agent for Jira or Confluence context in plain language:

pi "Use the Atlassian tools to summarize Jira issue ABC-123 and any linked Confluence requirements before planning."
pi "Read this Confluence page and list implementation constraints before touching code: https://your-site.atlassian.net/wiki/..."

For exact local reads during development, use the CLI:

pnpm exec tsx packages/atlassian/bin/atlassian.ts jira ABC-123 --context
pnpm exec tsx packages/atlassian/bin/atlassian.ts confluence "https://your-site.atlassian.net/wiki/..."

Slash Commands

Five slash commands are available in the agent session:

Jira

| Command | Description | |---------|-------------| | /jira-issue <KEY> | Fetch a Jira issue with full context | | /get-jira-issue <KEY> | Get a Jira issue by key | | /story-context <KEY> | Build implementation context from a Jira story |

Confluence

| Command | Description | |---------|-------------| | /confluence-page <URL or ID> | Fetch a Confluence page with context by URL or page ID | | /get-confluence-page <ID> | Get a Confluence page by ID |

These commands post prompts to the agent session, which then invoke the corresponding tools.

Auth

Set environment variables:

export ATLASSIAN_BASE_URL="https://your-site.atlassian.net"
export ATLASSIAN_EMAIL="[email protected]"
export ATLASSIAN_API_TOKEN="..."

ATLASSIAN_DOMAIN=your-site.atlassian.net may be used instead of ATLASSIAN_BASE_URL.

The package also supports config files. Config is read from:

  1. ~/.pi/sf/atlassian/config.json — Pi-conventional path

Malformed files fail fast. New setups should put credentials in ~/.pi/sf/atlassian/config.json.

Config file shape

Either baseUrl or domain is required (not both). email and apiToken are always required. Trailing slashes on baseUrl are normalized.

{
  "baseUrl": "https://your-site.atlassian.net",
  "email": "[email protected]",
  "apiToken": "..."
}

Or the upstream-MCP-compatible domain form:

{
  "domain": "your-site.atlassian.net",
  "email": "[email protected]",
  "apiToken": "..."
}

To create the recommended config file:

mkdir -p ~/.pi/sf/atlassian
cat > ~/.pi/sf/atlassian/config.json <<'JSON'
{
  "baseUrl": "https://your-site.atlassian.net",
  "email": "[email protected]",
  "apiToken": "..."
}
JSON
chmod 600 ~/.pi/sf/atlassian/config.json

The chmod 600 step is recommended so the file is only readable by your user — the API token grants full Jira and Confluence access for the email's account.

Development CLI

tsx is a workspace dev-dependency, not a global binary. Run the CLI through pnpm exec from the repo root so the local install is picked up:

pnpm exec tsx packages/atlassian/bin/atlassian.ts jira ABC-123
pnpm exec tsx packages/atlassian/bin/atlassian.ts jira ABC-123 --context
pnpm exec tsx packages/atlassian/bin/atlassian.ts story ABC-123
pnpm exec tsx packages/atlassian/bin/atlassian.ts confluence "https://your-site.atlassian.net/wiki/..."
pnpm exec tsx packages/atlassian/bin/atlassian.ts --stdin

Human subcommands print compact Markdown. --stdin accepts { "tool": "<toolName>", ...params } and prints structured JSON.

Jira Context

Use story_context when a Jira story should drive implementation work. It returns compact issue details, related Jira issues, linked Confluence pages, Figma URLs, external URL inventory, inaccessible same-site links, and traversal metadata under bounded caps.

{
  "tool": "story_context",
  "key": "ABC-123",
  "maxDepth": 1,
  "maxJiraIssues": 10,
  "maxConfluencePages": 3,
  "includeExternalUrls": true
}

jira_issue remains available for compact single-issue context. Pass includeContext: true to use the same bounded traversal. jira_get_issue also accepts includeContext: true when a raw issue read should be upgraded to implementation context.

The walker follows same-site Jira browse links, Jira keys, and Confluence page links. It keeps Figma URLs as design-link inventory and, when ~/.pi/sf/figma/config.json is configured, also fetches compact linked Figma context automatically.

Figma enrichment is bounded for Jira latency:

  • includeFigmaContext defaults to auto: enabled only when Figma auth is configured.
  • includeFigmaContext: false keeps only the URL inventory.
  • includeFigmaContext: true records missing-auth feedback in inaccessibleLinks instead of failing the Jira context.
  • maxFigmaLinks defaults to 2, and links are fetched with concurrency 2.
  • Individual Figma failures are isolated; Jira and Confluence context still returns.

The walker does not fetch arbitrary non-Figma external sites by default.

Endpoint Notes

  • Confluence v2 does not currently cover every operation from the old API-key MCP package. CQL search, Confluence user search, and adding labels remain isolated in a legacy Confluence client using verified v1 endpoints.
  • jira_update_board is registered for old MCP tool-name parity, but it always fails fast. Current Jira Software Cloud REST APIs document board configuration reads, not board name/filter updates. Create a new board with the desired filter, or update the underlying Jira filter separately.