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

@jutge.org/cli

v0.3.5

Published

Jutge.org Command Line Interface

Readme

Jutge CLI

A command-line interface for interacting with the Jutge.org platform API. Access your profile, submit solutions, upload problems, manage courses, and more directly from your terminal.

Key Features

  • 💻 Easy interface with Jutge.org API
  • 👨‍🏫 Student operations (profile, awards, submissions, courses)
  • 🎓 Instructor operations (queries, course management)
  • 🔐 Multi-account authentication management
  • 🔄 Auto-login with saved credentials
  • 📊 Multiple output formats (JSON, YAML, CSV, table, raw)
  • 📁 File upload and download support

Installation

The CLI requires Bun as a JavaScript runtime.

Quick Install

bun install --global @jutge.org/cli

Verify the installation:

jutge --version

Getting Started

First Time Setup

Login to your Jutge.org account:

jutge login

You'll be prompted for your email and password. Your credentials will be securely stored for future use.

Basic Usage

# Get help about available commands
jutge --help

# Explore specific sections
jutge student --help
jutge instructor --help

# View your profile
jutge student profile

# List your courses
jutge student courses list

Much more commands are available; use --help to explore them.

Account Management

The CLI supports managing multiple Jutge.org accounts, making it easy to switch between student and instructor roles or different user accounts.

Managing Accounts

# List all registered accounts
jutge accounts list

# Add a new account
jutge accounts add -e [email protected] professor

# Switch active account
jutge accounts use professor

# Use a specific account for one command
jutge student profile -a professor

# Remove an account
jutge accounts remove professor

# Rename an account
jutge accounts rename professor prof

# View the accounts manual
jutge accounts manual

Saving Passwords

For convenience, you can save the password of the current account locally (stored as base64):

jutge accounts save-password

Warning: Passwords are not securely encrypted. Use this feature at your own risk.

Default Output Format

Set a preferred output format for current account:

jutge accounts default-format json

Output Formats

The CLI supports multiple output formats for flexibility:

# JSON format (good for scripting)
jutge student profile --json

# Table format (human-readable)
jutge student courses list --table

# YAML format
jutge student awards list --yaml

# CSV format (for spreadsheets)
jutge instructor queries getCourseProblemSubmissions \
    --course_nm "PRO3_2024" \
    --problem_nm "P68688_ca" \
    --csv

# Raw format (no formatting)
jutge student profile --raw

Working with Files

# Upload a file (input files are always arguments)
jutge student profile updateAvatar photo.jpg

# Download a file (use -o to specify output name)
jutge student submissions download --submission_id S001 -o my-submission.zip

Advanced Features

Debug Mode

See the raw API request and response:

jutge student profile --debug

API Exploration

The CLI structure mirrors the Jutge.org API, making it easy to explore:

# Get help for any command
jutge student --help
jutge student courses --help
jutge instructor queries --help

# Each endpoint maps to a command
# API: student.profile → CLI: jutge student profile
# API: instructor.queries.getCourseProblemSubmissions →
#      CLI: jutge instructor queries getCourseProblemSubmissions
# See the API documentation for more details:
# https://api.jutge.org

Configuration

Configuration files are stored in platform-specific locations.

Files

  • credentials.json - Account credentials and tokens
  • config.yml - General settings

Environment Variables

  • JUTGE_API_URL - Override the default API endpoint (default: https://api.jutge.org/api)

Example:

export JUTGE_API_URL="https://api-dev.jutge.org/api"
jutge student profile

Upgrading

Check for and install updates:

jutge upgrade

Troubleshooting

Authentication Issues

If you encounter authentication errors:

# Logout and login again
jutge logout
jutge login

# Check which account is active
jutge accounts list

Connection Issues

# Verify the API endpoint
echo $JUTGE_API_URL

# Check if the API is accessible
curl https://api.jutge.org/api/dir

Getting Help

  • Use --help with any command to see detailed usage
  • Check the Jutge.org documentation for API details
  • Report issues on the project repository

Requirements

  • Bun - JavaScript runtime (required)
  • Internet connection to access Jutge.org API

Support

License

Copyright © Jutge.org. All rights reserved.