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

upload-git-issues

v1.0.1

Published

A zero-config CLI tool to bulk upload CSV data to GitHub Issues

Readme

🚀 Upload Git Issues

Zero-config CLI to bulk upload CSV data to GitHub Issues

Perfect for platform migrations - create GitHub Issues from your CSV exports, then use Linear's native GitHub import to sync.

🚀 Quick Start

# One command - that's it!
npx upload-git-issues your-file.csv

# With options
npx upload-git-issues issues.csv --dry-run --verbose

What happens:

  1. Interactive prompts guide you through GitHub authentication and repo selection
  2. Intelligent CSV parsing (works with Linear exports, Jira exports, any CSV format)
  3. Beautiful progress indicators show real-time status
  4. Issues created in GitHub - ready for Linear's native GitHub import

📄 Sample CSV to Get Started

Create a file called issues.csv with this content:

Title,Description,Labels,Priority,Assignee
"Fix login authentication bug","Users are unable to log in with valid credentials","bug,urgent","High","johndoe"
"Add dark mode toggle","Implement dark/light theme switcher in user settings","enhancement,ui","Medium","janedoe"
"Update API documentation","Refresh the API docs with latest endpoint changes","documentation","Low","techwriter"
"Optimize database queries","Improve performance of user dashboard queries","performance,backend","High","dbadmin"

Then run:

npx upload-git-issues issues.csv --dry-run

🧪 Local Development & Testing

Note: This tool is currently in pre-release. For local testing and development:

Method 1: Development Mode (Fastest)

git clone https://github.com/rhyanvargas/upload-git-issues.git
cd upload-git-issues
npm install
npm run dev -- --help
npm run dev -- example.csv --dry-run

Method 2: Build and Test

npm run build
npm start -- --help
npm start -- example.csv --dry-run

Method 3: Global Installation Testing (Most Realistic)

# Link for global testing (does NOT publish live)
npm link

# Test as if installed globally
upload-git-issues --help
upload-git-issues example.csv --dry-run

# Unlink when done testing
npm unlink -g upload-git-issues

⚠️ Important: npm link is safe and local-only. It does NOT publish to npm registry.

💡 Tip: Use the included example.csv file for testing, or create your own following the CSV format shown in the Quick Start section above.

📋 When to Use This Tool

| Your Situation | Use This Tool? | Why | | ------------------------------------------ | ---------------------------- | --------------------------------------------- | | 🔄 Migrating to Linear via GitHub | ✅ Perfect Choice | Create GitHub Issues, then use Linear's GitHub import | | 📊 Have CSV data to upload | ✅ Perfect Choice | Intelligent parsing handles any CSV format | | ⚡ Need it done quickly | ✅ Perfect Choice | One command, 2 minutes to complete | | 🏢 Enterprise/Security requirements | ✅ Perfect Choice | Built-in security audits and compliance | | 👥 Non-technical team member | ✅ Perfect Choice | Interactive prompts guide you through | | 🔒 Single repository upload | ✅ Perfect Choice | Optimized for this common use case | | 🎯 Creating 5-1000+ issues | ✅ Perfect Choice | Handles any volume with progress tracking | | | | | | 🏗️ Multi-repository bulk operations | ⚠️ Consider Alternatives | Our tool focuses on single repositories | | 📝 Complex issue templating needs | ⚠️ Consider Alternatives | Use tools with Mustache/Liquid support | | 🤖 GitHub Actions workflow integration | ⚠️ Consider Alternatives | Look for native CI/CD solutions | | 💬 Adding comments to existing issues | ⚠️ Consider Alternatives | Our tool creates new issues only | | ⚙️ Highly customized automation | ⚠️ Consider Alternatives | Use scriptable solutions |

📋 Options

| Option | Description | Example | |--------|-------------|---------| | [csv-file] | Path to CSV file | ./issues.csv | | --dry-run | Preview without creating | --dry-run | | --verbose | Detailed logging | --verbose | | --token <token> | GitHub token (skip prompt) | --token ghp_abc123 | | --repo <repo> | Target repository | --repo owner/repo |

📊 CSV Format

Required: Title column
Optional: Description, Labels, Assignee, Priority, Status, etc.

Title,Description,Labels,Assignee,Priority
"Fix login bug","Users cannot log in","bug,urgent","johndoe","High"
"Add dark mode","Implement dark theme","enhancement,ui","janedoe","Medium"

The tool intelligently maps column names (Title/title/TITLE all work) and converts Priority/Status to labels.

💡 Linear Migration Tip: After creating GitHub Issues, use Linear's native GitHub import feature to sync them into your Linear workspace.

🔑 GitHub Authentication

Create a Personal Access Token with repo scope. The tool will prompt you for it.

⚖️ Legal Disclaimer

IMPORTANT: By using this tool, you acknowledge that:

  • YOU are solely responsible for ensuring the security and safety of your files
  • YOU must verify that any CSV files do not contain sensitive or confidential information
  • YOU are responsible for verifying the security of any tools you use
  • YOU should review the source code and run security audits before use
  • YOU must ensure proper authorization for GitHub API usage and repository access

This software is provided "AS IS" without warranties. See DISCLAIMER.md for complete legal terms.

🔒 Security Recommendation: Always review your CSV data and test with non-sensitive information first.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


Made with ❤️ for developers who love automation