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

jvit-redmine-context-cli

v0.1.17

Published

CLI to extract Redmine issues as context for agentic coding workflows

Readme

jvit-redmine-context-cli

A CLI to extract Redmine issues as context for agentic coding workflows.

Features

  • Extract Redmine issues as structured context for AI agents
  • Sync individual issues or entire projects to local Markdown files
  • Incremental updates with change detection
  • Comment synchronization with tracking
  • Configurable filename patterns and slug generation
  • Concurrent processing for large projects
  • Retry logic and rate limiting
  • YAML configuration with validation
  • Optimized for agentic coding workflows and context retrieval

Installation

npm install -g jvit-redmine-context-cli
# or
pnpm add -g jvit-redmine-context-cli

Configuration

Create a redmine.config.yaml file in your project root:

baseUrl: https://redmine.example.com
apiAccessToken: YOUR_API_TOKEN
project:
  id: 123
  identifier: my-project
outputDir: .jai1/redmine
defaults:
  include: [journals, relations, attachments]
  status: '*'
  pageSize: 100
  concurrency: 4
  retry:
    retries: 3
    baseMs: 300
filename:
  pattern: '{issueId}-{slug}.md'
  slug:
    maxLength: 80
    dedupe: true
    lowercase: true
  renameOnTitleChange: false
comments:
  anchors:
    start: '<!-- redmine:comments:start -->'
    end: '<!-- redmine:comments:end -->'
  trackBy: journalId

Configuration Options

  • baseUrl: Your Redmine instance URL
  • apiAccessToken: Redmine API access token
  • project.id: Project ID (numeric)
  • project.identifier: Project identifier (string)
  • outputDir: Directory to store markdown files (default: .jai1/redmine)
  • defaults.include: What to include (journals, relations, attachments)
  • defaults.status: Filter by status (* for all)
  • defaults.pageSize: API page size (1-100)
  • defaults.concurrency: Concurrent requests (1-10)
  • filename.pattern: Filename pattern with {issueId} and {slug} placeholders
  • filename.slug: Slug generation options
  • comments.anchors: Comment section markers
  • comments.trackBy: How to track new comments (journalId or createdOn)

Usage

Check Connectivity

redmine check

Sync Single Issue

# By ID
redmine sync issue --id 123

# By URL
redmine sync issue --url https://redmine.example.com/issues/123

# Dry run
redmine sync issue --id 123 --dry-run

Sync Project

# Sync all issues
redmine sync project

# Filter by status
redmine sync project --status "open"

# Sync issues updated since date
redmine sync project --updated-since 2023-01-01

# Custom concurrency and page size
redmine sync project --concurrency 8 --page-size 50

# Dry run
redmine sync project --dry-run

Global Options

  • -c, --config <path>: Path to configuration file (default: redmine.config.yaml)
  • -o, --output-dir <path>: Output directory for markdown files
  • --dry-run: Show what would be done without making changes
  • --json: Output results as JSON

Output Format

Issues are saved as Markdown files with frontmatter:

---
id: 123
subject: 'Example Issue'
status: 'Open'
priority: 'Normal'
author: 'John Doe'
assigned_to: 'Jane Smith'
created_on: '2023-01-01T10:00:00Z'
updated_on: '2023-01-02T15:30:00Z'
project: 'My Project'
tracker: 'Bug'
lastJournalId: 456
---

# Issue Description

This is the issue description...

<!-- redmine:comments:start -->

## John Doe - 2023-01-02 15:30

This is a comment on the issue.

---

## Jane Smith - 2023-01-03 09:15

Another comment with changes.

**Changes:**

- status: Open → In Progress
- assigned_to: John Doe → Jane Smith

---

<!-- redmine:comments:end -->

Development

# Install dependencies
pnpm install

# Run in development mode
pnpm dev

# Build
pnpm build

# Run tests
pnpm test

# Lint
pnpm lint

API Exit Codes

  • 0: Success
  • 2: Validation error (configuration, arguments)
  • 4: Resource not found (issue, project)
  • 5: System/network error

License

MIT

redmine-context-cli