The script does not run `npm publish`; by default it only reads local package metadata and git status., npm login visibility is disabled by default because `npm whoami` can contact the configured registry; set `NPM_STATUSLINE_CHECK_WHOAMI=1` only for trusted projects., Optional `npm whoami` checks require the `timeout` command and are capped at 3 seconds to avoid stalled statusline rendering., Readiness is a checklist signal, not approval to publish; run `npm pack --dry-run` and project release checks separately., Dirty lockfiles or package metadata should be reviewed before release tagging.
Privacy notes
The output prints package name and version, which can reveal unreleased package plans in screenshots., With `NPM_STATUSLINE_CHECK_WHOAMI=1`, npm login visibility follows local npm configuration and can send credentials to the configured registry., package.json can contain private package names; avoid sharing terminal output when those names are sensitive.
Author
MkDev11
Submitted by
MkDev11
Claim status
unclaimed
Last verified
2026-06-04
Decision playbook
Review trust signals before you adopt
Signals are present but mixed. Use the checklist below to confirm the source and operational safety for your environment.
Compare context
Selected
0
Current score
78
Baseline
—
Delta
No baseline selected
No major trust-signal divergence detected in the current selection.
Source and provenance checks
Complete
Confirm ownership and provenance before trusting install instructions.
Source link availableRequired
Open the canonical repository and verify ownership.
Done
Source provenance statusRequired
Marked as source-backed.
Done
Metadata reviewed
Registry metadata indicates a reviewed listing.
Done
Safety and privacy checks
Complete
Validate risk disclosures before installation or API wiring.
Safety notes presentRequired
Review the listed safety guidance before running commands.
Done
Privacy notes presentRequired
Review data handling notes before connecting accounts or secrets.
Done
Trust level risk gateRequired
Trust level does not block evaluation.
Done
Package and install checks
Needs review
Check package metadata and artifact integrity signals.
Install payload available
Install or copy payload is available for review.
Done
Package verification flag
No package verification flag provided.
Pending
Checksum metadata
No checksum provided for downloaded artifact.
Pending
Compare-driven decision checks
Needs review
Use compare context to validate trade-offs before adoption.
Compare tray has multiple entries
Add at least one more entry to compare trust differences.
Current risk score 16/100. Use staged verification before broader rollout.
Risk 16
Pre-adoption checks
Validate source and review signals before any execution.
Confirm source provenanceRequired
Source URL/provenance metadata is present.
Done
Confirm metadata review state
Listing has review metadata.
Done
Verify install payload
Install/config payload exists and can be inspected.
Done
Security checks
Confirm safety, privacy, and package integrity signals.
Review safety notesRequired
Safety notes are present.
Done
Review privacy notesRequired
Privacy notes are present.
Done
Verify package integrity metadata
No package verification/checksum metadata.
Pending
Rollout
Adopt in controlled steps based on the selected plan.
Run in isolated sandbox firstRequired
Use a constrained sandbox and observe behavior across multiple tasks.
Pending
Roll out graduallyRequired
Roll out to a small cohort before wider usage.
Pending
Set monitoring and fallback
Define rollback path and monitor errors after adoption.
Pending
Evidence readiness
Evidence readiness matrix · balanced
Required evidence gates are covered (5/6 signals complete).
Risk 15
Source provenance
Present
Source repository/provenance is listed.
Required in this preset
Metadata review
Present
Review metadata is present.
Required in this preset
Safety notes
Present
Safety notes are present.
Required in this preset
Privacy notes
Present
Privacy notes are present.
Optional in this preset
Package integrity
Missing
Package integrity metadata is missing.
Optional in this preset
Install payload
Present
Install payload is available.
Required in this preset
Required evidence gates are covered for this preset.
Decision timeline
Decision timeline · balanced
5/6 steps complete with no blocking gaps for this preset.
Risk 14
triage
Confirm source provenanceRequired
Source/provenance metadata is available.
Done
triage
Check metadata review statusRequired
Review metadata is available.
Done
verify
Review safety notesRequired
Safety notes are available.
Done
verify
Review privacy notes
Privacy notes are available.
Done
verify
Validate package integrity metadata
Package integrity metadata is missing.
Pending
rollout
Verify install payload and commandsRequired
Install payload is available.
Done
No required blockers for this timeline preset.
Prerequisite readiness
Prerequisite readiness
3 prerequisites to line up before setup. Have accounts and credentials ready first.
0/3 ready
Account & credentials1Install & runtime1General1
Safety & privacy surface
Safety & privacy surface
5 safety and 3 privacy notes across 5 risk areas. Review closely: credentials & tokens.
5 areas
SafetyExecution & processesThe script does not run `npm publish`; by default it only reads local package metadata and git status.
SafetyData retentionnpm login visibility is disabled by default because `npm whoami` can contact the configured registry; set `NPM_STATUSLINE_CHECK_WHOAMI=1` only for trusted projects.
SafetyExecution & processesOptional `npm whoami` checks require the `timeout` command and are capped at 3 seconds to avoid stalled statusline rendering.
SafetyExecution & processesReadiness is a checklist signal, not approval to publish; run `npm pack --dry-run` and project release checks separately.
SafetyLocal filesDirty lockfiles or package metadata should be reviewed before release tagging.
PrivacyGeneralThe output prints package name and version, which can reveal unreleased package plans in screenshots.
PrivacyCredentials & tokensWith `NPM_STATUSLINE_CHECK_WHOAMI=1`, npm login visibility follows local npm configuration and can send credentials to the configured registry.
PrivacyGeneralpackage.json can contain private package names; avoid sharing terminal output when those names are sensitive.
Safety notes
The script does not run `npm publish`; by default it only reads local package metadata and git status.
npm login visibility is disabled by default because `npm whoami` can contact the configured registry; set `NPM_STATUSLINE_CHECK_WHOAMI=1` only for trusted projects.
Optional `npm whoami` checks require the `timeout` command and are capped at 3 seconds to avoid stalled statusline rendering.
Readiness is a checklist signal, not approval to publish; run `npm pack --dry-run` and project release checks separately.
Dirty lockfiles or package metadata should be reviewed before release tagging.
Privacy notes
The output prints package name and version, which can reveal unreleased package plans in screenshots.
With `NPM_STATUSLINE_CHECK_WHOAMI=1`, npm login visibility follows local npm configuration and can send credentials to the configured registry.
package.json can contain private package names; avoid sharing terminal output when those names are sensitive.
Prerequisites
Node.js project with package.json.
jq available for reading package metadata.
npm CLI installed only if optional login visibility is enabled with `NPM_STATUSLINE_CHECK_WHOAMI=1`.
Schema details
Install type
config
Troubleshooting
No
Runtime and command metadata
Script language
bash
Script body
#!/usr/bin/env bash
set -u
main() {
if [ ! -f package.json ]; then
echo "npm: no package.json"
exit 0
fi
if ! command -v jq >/dev/null 2>&1; then
echo "npm: jq missing"
exit 0
fi
name=$(jq -r '.name // "unnamed"' package.json)
version=$(jq -r '.version // "0.0.0"' package.json)
private=$(jq -r '.private // false' package.json)
dirty=$(git status --porcelain=v1 -- package.json package-lock.json npm-shrinkwrap.json pnpm-lock.yaml yarn.lock 2>/dev/null | wc -l | tr -d ' ')
login="auth-unchecked"
if [ "${NPM_STATUSLINE_CHECK_WHOAMI:-}" = "1" ] && command -v npm >/dev/null 2>&1; then
if command -v timeout >/dev/null 2>&1; then
if timeout 3s npm whoami >/dev/null 2>&1; then
login="logged-in"
else
login="login-missing"
fi
else
login="whoami-timeout-missing"
fi
fi
if [ "$private" = "true" ]; then
state="blocked"
elif [ "$dirty" -gt 0 ]; then
state="review"
elif [ "$login" = "login-missing" ]; then
state="auth"
elif [ "$login" != "logged-in" ]; then
state="review"
else
state="ready"
fi
cleanliness="clean"
if [ "$dirty" -gt 0 ]; then
cleanliness="dirty"
fi
printf 'npm: %s@%s | %s | %s | %s\n' "$name" "$version" "$cleanliness" "$login" "$state"
}
case $- in
*n*) ;;
*) main "$@" ;;
esac
npm documents npm publish behavior and package metadata that affects publication.
npm also documents npm pack --dry-run; this statusline intentionally avoids publishing and leaves dry-run verification to a separate release command.
Duplicate check
Checked existing statuslines, live HeyClaude statuslines, open pull requests, and repository content for npm-publish-readiness-statusline, package publish readiness, npm publish, release readiness, and package statuslines. No statusline entry or open PR with this slug or npm publish-readiness focus was found.
Disclosure
Editorial statusline recipe. No paid placement or affiliate link is used.
Show that npm Publish Readiness Statusline is listed on HeyClaude. Paste this Markdown into your README — it renders the badge and links back to this page.
[](https://heyclau.de/entry/statuslines/npm-publish-readiness-statusline)
How it compares
npm Publish Readiness Statusline side by side with 3 alternatives on trust, install, platform support, and disclosed safety notes — all from reviewed registry metadata.
Claude Code statusline that reads Anthropic Claude Code Analytics Admin API data and shows daily estimated cost, hourly pace, sessions, and budget pressure.
Claude Code statusline that estimates context pressure from local session token counts and a configurable context limit, then prints a compact risk tier.
✓The script does not run `npm publish`; by default it only reads local package metadata and git status.
npm login visibility is disabled by default because `npm whoami` can contact the configured registry; set `NPM_STATUSLINE_CHECK_WHOAMI=1` only for trusted projects.
Optional `npm whoami` checks require the `timeout` command and are capped at 3 seconds to avoid stalled statusline rendering.
Readiness is a checklist signal, not approval to publish; run `npm pack --dry-run` and project release checks separately.
Dirty lockfiles or package metadata should be reviewed before release tagging.
✓Coverage percentage is a testing signal, not proof that behavior is correct or edge cases are covered.
Do not run coverage generation inside a fast-refreshing statusline; read an existing summary file instead.
Use project-specific thresholds so generated files and intentionally excluded code do not create misleading pressure.
✓Claude Code Analytics data is daily aggregated and can lag recent activity, so the burn-rate display is a pacing signal rather than real-time billing control.
Keep the refresh interval moderate because the statusline calls an authenticated Admin API endpoint.
Treat budget thresholds as operational prompts; reconcile invoices and Console reports before making spending decisions.
✓Context percentage is only as accurate as the configured limit and the usage fields available in the statusline input.
Use the warning as a cue to summarize or checkpoint work before context pressure affects reasoning quality.
Do not treat a low percentage as proof that all relevant files, instructions, or tool results are still in scope.
Privacy notes
✓The output prints package name and version, which can reveal unreleased package plans in screenshots.
With `NPM_STATUSLINE_CHECK_WHOAMI=1`, npm login visibility follows local npm configuration and can send credentials to the configured registry.
package.json can contain private package names; avoid sharing terminal output when those names are sensitive.
✓The script reads a local coverage summary and prints only aggregate line coverage.
Coverage paths inside the JSON file can contain repository structure; avoid printing raw summaries in shared logs.
Team baselines can reveal internal quality gates if screenshots are shared externally.
✓The script sends an Admin API request to Anthropic and receives organization-level Claude Code analytics.
It prints aggregate cost, session, and budget numbers, not email addresses, model names, prompts, file paths, or code.
Admin API keys can expose organization analytics; store them in a scoped local secret manager or shell environment with restricted access.
The script feeds the API key to curl through a config file descriptor instead of command-line arguments and unsets the exported key before launching curl, reducing process-list exposure on shared machines.
✓The script reads local session counters and does not inspect prompt text, files, or transcript contents.
Token counts and configured limits can still reveal workload size in screenshots or shared terminal logs.
Teams should avoid placing customer names or project identifiers in shell variables that appear in debugging output.
Prerequisites
Node.js project with package.json.
jq available for reading package metadata.
npm CLI installed only if optional login visibility is enabled with `NPM_STATUSLINE_CHECK_WHOAMI=1`.
Istanbul-compatible coverage report with `coverage/coverage-summary.json` or COVERAGE_SUMMARY_JSON set.
jq and awk available in the shell used by Claude Code.
COVERAGE_BASELINE_PCT set when the project baseline is not 80 percent.
Anthropic Admin API access for an organization with Claude Code Analytics enabled.
ANTHROPIC_ADMIN_API_KEY set in the statusline environment; prefer a narrowly scoped/read-only credential if Anthropic offers one for analytics access.
curl and jq available on the machine running the Claude Code statusline command.
Optional CLAUDE_CODE_ANALYTICS_EMAIL to limit the display to one user and CLAUDE_CODE_DAILY_BUDGET_USD to set the budget denominator.
Claude Code statusline support with local JSON input.
jq available for reading session usage fields.
Optional CLAUDE_CONTEXT_LIMIT set to the model or workflow limit your team wants to track.