en un clic
clojure-namespace-architect
Resolves Clojure namespace-path mismatches and classpath errors with definitive path conversion
Menu
Resolves Clojure namespace-path mismatches and classpath errors with definitive path conversion
Protocol to stop apology loops and focus on verified fixes.
Protocol to break out of repetitive, failing edit loops by forcing analysis over action.
Create new pm2-clj ecosystem configuration files from scratch or templates for PM2 process management
Create new PM2 ecosystem configuration files for the clobber-based system with proper defapp definitions
Find free CI/CD pipelines, build systems, and artifact repositories for DevSecOps workflows
Discover free IaaS/PaaS compute, storage, and networking from major cloud providers
| name | clojure-namespace-architect |
| description | Resolves Clojure namespace-path mismatches and classpath errors with definitive path conversion |
Resolve errors related to Clojure file paths, namespace declarations, and classpath mismatches. Agents often confuse the mapping between kebab-case namespaces and snake_case file paths. This skill provides the ground truth.
FileNotFoundException or Could not locate ... on classpath errorsjava.lang.Exception: No namespace: ... errors(ns my-app.user-utils) ✓src/my_app/user_utils.clj ✓src, test, resources are ROOTS. They do NOT appear in the namespace name.src/com/example/core.clj → (ns com.example.core) ✓(ns src.com.example.core) ✗my-app.core-utils → my_app/core_utils.cljAudits a Clojure file to verify its namespace declaration matches its file path.
Parameters:
filePath (required): Absolute or relative path to the .clj or .cljs filesourceRoots (optional): Array of known source REDACTED_SECRET directoriesReturns:
status: 'ok' | 'mismatch' | 'warning' | 'file_not_found' | 'parse_error'declaredNs: The namespace found in the fileexpectedNsFromPath: What the namespace should be based on file locationfullExpectedPath: Where the file should be if moved to match its namespacerecommendations: Array of fix options with commandsaudit_clojure_ns on the file you think should exist(ns ...) declaration is wrong: Update the namespace symbolmy-app.core → my_app/core.clj(ns my-app.core ...) at the top of the file(ns ...) declaration to matchmy-app/core.clj, the namespace must be my-app.coremy-app.core, the path must be my_app/core.clj