Repository Analysis

Crosstalk-Solutions/project-nomad

Project N.O.M.A.D, is a self-contained, offline survival computer packed with critical tools, knowledge, and AI to keep you informed and empowered—anytime, anywhere.

1.5 Likely human-written View on GitHub
1.5
Adjusted Score
1.5
Raw Score
100%
Time Factor
2026-05-27
Last Push
27,146
Stars
TypeScript
Language
60,644
Lines of Code
307
Files
62
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 0MEDIUM 3LOW 59

Pattern Findings

62 matches across 7 categories. Click a row to expand file-level details.

Verbosity Indicators20 hits · 30 pts
SeverityFileLineSnippet
LOWinstall/migrate-disk-collector.sh102# Step 1: Stop old host process
LOWinstall/migrate-disk-collector.sh121# Step 2: Backup compose.yml
LOWinstall/migrate-disk-collector.sh133# Step 3: Remove old bind-mount from admin volumes
LOWinstall/migrate-disk-collector.sh152# Step 4: Add disk-collector service block
LOWinstall/migrate-disk-collector.sh202# Step 6: Verify
LOWadmin/app/services/docker_service.ts330 // Step 1: Try to stop and remove the container if it exists
LOWadmin/app/services/docker_service.ts349 // Step 2: Remove the container
LOWadmin/app/services/docker_service.ts366 // Step 3: Clear volumes/data if needed
LOWadmin/app/services/docker_service.ts400 // Step 4: Mark service as uninstalled
LOWadmin/app/services/docker_service.ts406 // Step 5: Recreate the container
LOWadmin/app/services/docker_service.ts838 // Step 1: Build/update the XML from current disk state
LOWadmin/app/services/docker_service.ts844 // Step 2: Stop and remove old container (leave ZIM volumes intact)
LOWadmin/app/services/docker_service.ts859 // Step 3: Read the service record and authoritatively set the correct command.
LOWadmin/app/services/docker_service.ts874 // Step 4: Recreate container directly (skipping _createContainer to avoid re-downloading
LOWadmin/app/services/docker_service.ts1172 // Step 1: Pull new image (runtimeImage diverges from newImage for AMD, see above)
LOWadmin/app/services/docker_service.ts1177 // Step 2: Find and stop existing container
LOWadmin/app/services/docker_service.ts1196 // Step 3: Rename old container as safety net
LOWadmin/app/services/docker_service.ts1200 // Step 4: Create new container with inspected config + new image
LOWadmin/app/services/docker_service.ts1262 // Step 5: Start new container
LOWadmin/app/services/docker_service.ts1266 // Step 6: Health check — verify container stays running for 5 seconds
Redundant / Tautological Comments12 hits · 18 pts
SeverityFileLineSnippet
LOWinstall/uninstall_nomad.sh79 # Check if 'docker compose' (v2 plugin) is available
LOWinstall/install_nomad.sh141 # Check if the script is being run in debug mode
LOWinstall/install_nomad.sh194 # Check if Docker was installed successfully
LOWinstall/install_nomad.sh204 # Check if Docker service is running
LOWinstall/install_nomad.sh221 # Check if 'docker compose' (v2 plugin) is available
LOWinstall/install_nomad.sh258 # Check if nvidia-container-toolkit is already installed
LOWinstall/install_nomad.sh305 # Check if nvidia runtime already exists
LOWinstall/install_nomad.sh495 # Check if NVIDIA GPU is present
LOWinstall/install_nomad.sh506 # Check if NVIDIA Container Toolkit is installed
LOWinstall/install_nomad.sh513 # Check if Docker has NVIDIA runtime
LOWinstall/update_nomad.sh98 # Check if 'docker compose' (v2 plugin) is available
LOWinstall/sidecar-updater/update-watcher.sh123 # Check if an update request file exists
Over-Commented Block15 hits · 15 pts
SeverityFileLineSnippet
LOWinstall/uninstall_nomad.sh1#!/bin/bash
LOWinstall/install_nomad.sh1#!/bin/bash
LOWinstall/install_nomad.sh161 echo -e "${YELLOW}#${RESET} Docker not found. Installing Docker...\\n"
LOWinstall/install_nomad.sh641# [Nn]*|"")
LOWinstall/install_nomad.sh661# eus_database_move
LOWinstall/run_updater_fixes.sh1#!/bin/bash
LOWinstall/run_updater_fixes.sh21# Downloads the updated sidecar Dockerfile (adds jq) and update-watcher.sh
LOWinstall/update_nomad.sh1#!/bin/bash
LOWinstall/migrate-disk-collector.sh1#!/bin/bash
LOWadmin/app/services/docker_service.ts261 this.activeInstallations.add(serviceName)
LOWadmin/config/session.ts1// import env from '#start/env'
LOWadmin/config/session.ts21// /**
LOWadmin/config/session.ts41// * list of available stores and their config.
LOW.github/workflows/release.yml81 GH_TOKEN: ${{ secrets.COSMISTACKBOT_ACCESS_TOKEN }}
LOW.github/scripts/finalize-release-notes.sh1#!/usr/bin/env bash
Slop Phrases4 hits · 10 pts
SeverityFileLineSnippet
LOWinstall/management_compose.yaml21 - /opt/project-nomad/storage:/app/storage # If you change the default storage path (/opt/project-nomad/storage), m
MEDIUMinstall/management_compose.yaml26 # PORT is the port the admin server listens on *inside* the container and should not be changed. If you want to ch
LOWinstall/management_compose.yaml36 # If you change the MySQL port, make sure to update this accordingly
LOWinstall/management_compose.yaml45 # If you change the Redis port, make sure to update this accordingly
Hyper-Verbose Identifiers9 hits · 9 pts
SeverityFileLineSnippet
LOWadmin/app/utils/zim_filename.ts17export function findReplacedWikipediaFiles(
LOWadmin/app/utils/fs.ts31export async function listDirectoryContentsRecursive(path: string): Promise<FileEntry[]> {
LOWadmin/app/utils/downloads.ts226export async function doResumableDownloadWithRetry({
LOWadmin/app/validators/common.ts61export function assertNotCloudMetadataUrl(urlString: string): void {
LOWadmin/util/zim.ts3export function isRawListRemoteZimFilesResponse(obj: any): obj is RawListRemoteZimFilesResponse {
LOWadmin/config/inertia.ts8export function invalidateAssistantNameCache() {
LOWadmin/inertia/hooks/useServiceInstallationActivity.ts6export default function useServiceInstallationActivity() {
LOWadmin/inertia/lib/collections.ts12function resolveTierResourcesInner(
LOWadmin/inertia/lib/util.ts6export function setGlobalNotificationCallback(callback: (notification: Notification) => void) {
Self-Referential Comments1 hit · 3 pts
SeverityFileLineSnippet
MEDIUMinstall/install_nomad.sh406 # Create a admin.log file in the logs directory
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippet
MEDIUMadmin/app/services/zim_extraction_service.ts184 // that we can leverage for better chunking. If not, we'll just chunk it as one big piece of text.