JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 7
  • Score
    100M100P100Q42882F
  • License SEE LICENSE IN LICENSE

AI-powered coding assistant CLI

Package Exports

  • portercode

Readme

PorterCode

AI-powered coding assistant CLI.

Installation

npm install -g portercode

Requirements: Bun runtime

Usage

# Interactive mode
porter

# With initial message
porter "explain this codebase"

# Continue last session
porter -c

# Use specific model
porter -m anthropic/claude-sonnet-4-20250514

Commands

porter              Start interactive TUI
porter auth         Manage API credentials
porter config       Show configuration

Options

Option Description
-d, --debug Enable debug mode
-s, --session Continue specific session
-c, --continue Continue most recent session
-m, --model Model to use (provider/model)
-g, --gateway Enable Gateway server for VSCode

Publishing to npm

Prerequisites

  1. npm account with publish access
  2. Logged in: npm login
  3. Bun installed

Steps to Publish a New Version

1. Update Version

# Patch (0.1.0 -> 0.1.1)
npm version patch

# Minor (0.1.0 -> 0.2.0)
npm version minor

# Major (0.1.0 -> 1.0.0)
npm version major

2. Build & Verify

# Build (compiles + obfuscates)
bun run build

# Verify CLI works
bun ./dist/index.js --help

3. Preview Package Contents (IMPORTANT)

Always verify before publishing:

# List files that will be included
npm pack --dry-run

# Or create and inspect the tarball
npm pack
tar -tzf portercode-*.tgz

Checklist - Verify these are NOT included:

  • src/ directory (source code)
  • test/ directory
  • *.ts files (except *.d.ts)
  • build.ts
  • tsconfig*.json
  • bun.lockb
  • .env or credentials

Checklist - Verify these ARE included:

  • dist/index.js (obfuscated)
  • dist/**/*.d.ts (type declarations)
  • LICENSE
  • NOTICE
  • package.json

4. Verify Obfuscation

# Check that code is obfuscated (should show hexadecimal variables)
head -c 500 dist/index.js

Expected output should look like:

var _0x12a874=_0x45ea;(function(_0x68ac43,_0x53f9ec){...

NOT readable code like:

import { something } from "./module"

5. Publish

# Publish to npm
npm publish --access public

# Or dry-run first
npm publish --access public --dry-run

6. Verify Published Package

# Check on npm
npm info portercode

# Test installation
npm install -g portercode
porter --version

Rollback (if needed)

# Unpublish within 72 hours
npm unpublish portercode@0.1.1

# Deprecate (after 72 hours)
npm deprecate portercode@0.1.1 "Critical bug, use 0.1.2"

Development

# Run in dev mode
bun run dev

# Run tests
bun test

# Type check
bun run typecheck

License

Proprietary - See LICENSE for details.

Copyright (c) 2025 Porter Metrics Inc. All rights reserved.