clutcher/laminar
Reviews code against the three qualities of high-quality code in Laminar Software Design: simple to understand and change, correct in behavior, and fast enough for its purpose. A simplicity finding names the cognitive failure a reader meets, a correctness finding names the missing prevention decision or the missing test, and a performance finding names the waste a known alternative avoids. A coding style skill gives the same book's design directions, each with its reason, for any code that is written or changed.
scripts
- review
- scripts/checks/CheckCatalog.mjs
- scripts/checks/CheckText.mjs
- scripts/checks/CheckWords.mjs
- scripts/checks/DesignRelationKinds.mjs
- scripts/checks/JudgeType.mjs
- scripts/code/extract/CodeGraphCompletion.mjs
- scripts/code/extract/ExtractOutput.mjs
- scripts/code/extract/ExtractStep.mjs
- scripts/code/extract/abstractions/application/ApplicationDiscovery.mjs
557 more
- scripts/code/extract/abstractions/application/bundler/BundlerApplicationFinder.mjs
- scripts/code/extract/abstractions/application/cargo/CargoApplicationFinder.mjs
- scripts/code/extract/abstractions/application/composer/ComposerApplicationFinder.mjs
- scripts/code/extract/abstractions/application/dotnet/DotnetApplicationFinder.mjs
- scripts/code/extract/abstractions/application/generic/ApplicationFolders.mjs
- scripts/code/extract/abstractions/application/generic/GenericApplicationFinder.mjs
- scripts/code/extract/abstractions/application/generic/dependencies/BuildFileText.mjs
- scripts/code/extract/abstractions/application/generic/dependencies/DependencyFiles.mjs
- scripts/code/extract/abstractions/application/generic/dependencies/DependencyFormats.mjs
- scripts/code/extract/abstractions/application/generic/dependencies/DependencyLines.mjs
- scripts/code/extract/abstractions/application/generic/dependencies/RepositoryDependencies.mjs
- scripts/code/extract/abstractions/application/generic/frameworks/ApplicationFrameworks.mjs
- scripts/code/extract/abstractions/application/generic/frameworks/FrameworkMarks.mjs
- scripts/code/extract/abstractions/application/generic/frameworks/FrameworkPresence.mjs
- scripts/code/extract/abstractions/application/generic/testing/ApplicationTestRunners.mjs
- scripts/code/extract/abstractions/application/go/GoApplicationFinder.mjs
- scripts/code/extract/abstractions/application/gradle/GradleApplicationFinder.mjs
- scripts/code/extract/abstractions/application/index.mjs
- scripts/code/extract/abstractions/application/maven/MavenApplicationFinder.mjs
- scripts/code/extract/abstractions/application/mix/MixApplicationFinder.mjs
- scripts/code/extract/abstractions/application/npm/NpmApplicationFinder.mjs
- scripts/code/extract/abstractions/application/python/PythonApplicationFinder.mjs
- scripts/code/extract/abstractions/application/sbt/SbtApplicationFinder.mjs
- scripts/code/extract/abstractions/class/csharp/CSharpClassFinder.mjs
- scripts/code/extract/abstractions/class/generic/GenericClassFinder.mjs
- scripts/code/extract/abstractions/class/generic/GenericClassRelationFinder.mjs
- scripts/code/extract/abstractions/class/generic/GenericClassRoleFinder.mjs
- scripts/code/extract/abstractions/class/generic/measures/ClassMeasures.mjs
- scripts/code/extract/abstractions/class/generic/routes/TypeRoutes.mjs
- scripts/code/extract/abstractions/class/generic/visibility/PrivateWord.mjs
- scripts/code/extract/abstractions/class/go/GoClassFinder.mjs
- scripts/code/extract/abstractions/class/go/GoClassRelationFinder.mjs
- scripts/code/extract/abstractions/class/graphql/GraphQLClassFinder.mjs
- scripts/code/extract/abstractions/class/index.mjs
- scripts/code/extract/abstractions/class/java/JavaClassFinder.mjs
- scripts/code/extract/abstractions/class/jvm/jakarta/JvmJakartaClassRoleFinder.mjs
- scripts/code/extract/abstractions/class/jvm/spring/JvmSpringClassRoleFinder.mjs
- scripts/code/extract/abstractions/class/keytree/KeyTreeClassFinder.mjs
- scripts/code/extract/abstractions/class/kotlin/KotlinClassFinder.mjs
- scripts/code/extract/abstractions/class/objc/ObjectiveCClassFinder.mjs
- scripts/code/extract/abstractions/class/perl/PerlClassFinder.mjs
- scripts/code/extract/abstractions/class/python/PythonClassFinder.mjs
- scripts/code/extract/abstractions/class/python/PythonClassRelationFinder.mjs
- scripts/code/extract/abstractions/class/python/flask/PythonFlaskClassRoleFinder.mjs
- scripts/code/extract/abstractions/class/rust/RustClassFinder.mjs
- scripts/code/extract/abstractions/class/scala/ScalaClassFinder.mjs
- scripts/code/extract/abstractions/class/swift/SwiftClassFinder.mjs
- scripts/code/extract/abstractions/class/typescript/TypeScriptClassFinder.mjs
- scripts/code/extract/abstractions/class/typescript/nestjs/TypeScriptNestjsClassRoleFinder.mjs
- scripts/code/extract/abstractions/method/ada/AdaMethodFinder.mjs
- scripts/code/extract/abstractions/method/ada/AdaMethodRelationFinder.mjs
- scripts/code/extract/abstractions/method/bash/BashMethodRelationFinder.mjs
- scripts/code/extract/abstractions/method/cpp/CppMethodFinder.mjs
- scripts/code/extract/abstractions/method/cpp/CppMethodRelationFinder.mjs
- scripts/code/extract/abstractions/method/csharp/CSharpMethodFinder.mjs
- scripts/code/extract/abstractions/method/csharp/CSharpMethodRelationFinder.mjs
- scripts/code/extract/abstractions/method/csharp/CSharpMethodRoleFinder.mjs
- scripts/code/extract/abstractions/method/csharp/calls/CSharpCallEffects.mjs
- scripts/code/extract/abstractions/method/csharp/moq/CSharpMoqMethodRoleFinder.mjs
- scripts/code/extract/abstractions/method/csharp/mstest/CSharpMstestMethodRoleFinder.mjs
- scripts/code/extract/abstractions/method/csharp/nsubstitute/CSharpNSubstituteMethodRoleFinder.mjs
- scripts/code/extract/abstractions/method/csharp/nunit/CSharpNunitMethodRoleFinder.mjs
- scripts/code/extract/abstractions/method/csharp/xunit/CSharpXunitMethodRoleFinder.mjs
- scripts/code/extract/abstractions/method/dart/DartMethodFinder.mjs
- scripts/code/extract/abstractions/method/dart/DartMethodRelationFinder.mjs
- scripts/code/extract/abstractions/method/elixir/ElixirMethodRelationFinder.mjs
- scripts/code/extract/abstractions/method/erlang/ErlangMethodRelationFinder.mjs
- scripts/code/extract/abstractions/method/erlang/calls/ErlangCallEffects.mjs
- scripts/code/extract/abstractions/method/fortran/FortranMethodRelationFinder.mjs
- scripts/code/extract/abstractions/method/generic/GenericMethodFinder.mjs
- scripts/code/extract/abstractions/method/generic/GenericMethodRelationFinder.mjs
- scripts/code/extract/abstractions/method/generic/GenericMethodRoleFinder.mjs
- scripts/code/extract/abstractions/method/generic/calls/CallReading.mjs
- scripts/code/extract/abstractions/method/generic/calls/CallScanner.mjs
- scripts/code/extract/abstractions/method/generic/calls/GenericCallEffects.mjs
- scripts/code/extract/abstractions/method/generic/calls/InMemoryCalls.mjs
- scripts/code/extract/abstractions/method/generic/measures/CallArgumentCalls.mjs
- scripts/code/extract/abstractions/method/generic/measures/CallArgumentFunctions.mjs
- scripts/code/extract/abstractions/method/generic/measures/CodeWindowIndex.mjs
- scripts/code/extract/abstractions/method/generic/measures/CodeWindows.mjs
- scripts/code/extract/abstractions/method/generic/measures/MethodMeasures.mjs
- scripts/code/extract/abstractions/method/generic/measures/OpenConstructs.mjs
- scripts/code/extract/abstractions/method/generic/outside/OutboundIo.mjs
- scripts/code/extract/abstractions/method/generic/outside/OutsideNames.mjs
- scripts/code/extract/abstractions/method/generic/references/LiteralReferences.mjs
- scripts/code/extract/abstractions/method/generic/references/NameReferences.mjs
- scripts/code/extract/abstractions/method/generic/references/QueryReferences.mjs
- scripts/code/extract/abstractions/method/generic/regions/BodyRegions.mjs
- scripts/code/extract/abstractions/method/generic/regions/LoopRegions.mjs
- scripts/code/extract/abstractions/method/generic/regions/OnceGuards.mjs
- scripts/code/extract/abstractions/method/generic/routes/Route.mjs
- scripts/code/extract/abstractions/method/generic/signatures/MethodSignatures.mjs
- scripts/code/extract/abstractions/method/generic/signatures/ParameterLists.mjs
- scripts/code/extract/abstractions/method/generic/signatures/WrappedHeads.mjs
- scripts/code/extract/abstractions/method/generic/testing/InlineTests.mjs
- scripts/code/extract/abstractions/method/generic/testing/TestCodeMarks.mjs
- scripts/code/extract/abstractions/method/generic/testing/TestFrictionFacts.mjs
- scripts/code/extract/abstractions/method/generic/testing/TestKinds.mjs
- scripts/code/extract/abstractions/method/generic/typing/LambdaForms.mjs
- scripts/code/extract/abstractions/method/generic/typing/ReceiverTyping.mjs
- scripts/code/extract/abstractions/method/go/GoMethodFinder.mjs
- scripts/code/extract/abstractions/method/go/GoMethodRelationFinder.mjs
- scripts/code/extract/abstractions/method/go/GoMethodRoleFinder.mjs
- scripts/code/extract/abstractions/method/go/calls/GoCallEffects.mjs
- scripts/code/extract/abstractions/method/go/testing/GoTestingMethodRoleFinder.mjs
- scripts/code/extract/abstractions/method/graphql/GraphQLMethodFinder.mjs
- scripts/code/extract/abstractions/method/index.mjs
- scripts/code/extract/abstractions/method/java/JavaMethodFinder.mjs
- scripts/code/extract/abstractions/method/java/JavaMethodRelationFinder.mjs
- scripts/code/extract/abstractions/method/java/JavaMethodRoleFinder.mjs
- scripts/code/extract/abstractions/method/java/calls/JavaCallEffects.mjs
- scripts/code/extract/abstractions/method/jvm/JvmMethodRoleFinder.mjs
- scripts/code/extract/abstractions/method/jvm/guava/JvmGuavaMethodRoleFinder.mjs
- scripts/code/extract/abstractions/method/jvm/jakarta/JvmJakartaMethodRoleFinder.mjs
- scripts/code/extract/abstractions/method/jvm/junit/JvmJunitMethodRoleFinder.mjs
- scripts/code/extract/abstractions/method/jvm/mockito/JvmMockitoMethodRoleFinder.mjs
- scripts/code/extract/abstractions/method/jvm/powermock/JvmPowermockMethodRoleFinder.mjs
- scripts/code/extract/abstractions/method/jvm/spring/JvmSpringMethodRoleFinder.mjs
- scripts/code/extract/abstractions/method/jvm/testng/JvmTestngMethodRoleFinder.mjs
- scripts/code/extract/abstractions/method/kotlin/KotlinMethodFinder.mjs
- scripts/code/extract/abstractions/method/kotlin/KotlinMethodRelationFinder.mjs
- scripts/code/extract/abstractions/method/kotlin/calls/KotlinCallEffects.mjs
- scripts/code/extract/abstractions/method/lua/LuaMethodRelationFinder.mjs
- scripts/code/extract/abstractions/method/objc/ObjectiveCMethodFinder.mjs
- scripts/code/extract/abstractions/method/objc/ObjectiveCMethodRelationFinder.mjs
- scripts/code/extract/abstractions/method/pascal/PascalMethodFinder.mjs
- scripts/code/extract/abstractions/method/pascal/PascalMethodRelationFinder.mjs
- scripts/code/extract/abstractions/method/perl/PerlMethodRelationFinder.mjs
- scripts/code/extract/abstractions/method/php/PhpMethodFinder.mjs
- scripts/code/extract/abstractions/method/php/PhpMethodRelationFinder.mjs
- scripts/code/extract/abstractions/method/python/PythonMethodFinder.mjs
- scripts/code/extract/abstractions/method/python/PythonMethodRelationFinder.mjs
- scripts/code/extract/abstractions/method/python/PythonMethodRoleFinder.mjs
- scripts/code/extract/abstractions/method/python/calls/PythonCallEffects.mjs
- scripts/code/extract/abstractions/method/python/fastapi/PythonFastapiMethodRoleFinder.mjs
- scripts/code/extract/abstractions/method/python/flask/PythonFlaskMethodRoleFinder.mjs
- scripts/code/extract/abstractions/method/python/mock/PythonMockMethodRoleFinder.mjs
- scripts/code/extract/abstractions/method/python/pytest-mock/PythonPytestMockMethodRoleFinder.mjs
- scripts/code/extract/abstractions/method/python/pytest/PythonPytestMethodRoleFinder.mjs
- scripts/code/extract/abstractions/method/python/unittest/PythonUnittestMethodRoleFinder.mjs
- scripts/code/extract/abstractions/method/ruby/RubyMethodRelationFinder.mjs
- scripts/code/extract/abstractions/method/ruby/calls/RubyCallEffects.mjs
- scripts/code/extract/abstractions/method/rust/RustMethodFinder.mjs
- scripts/code/extract/abstractions/method/rust/RustMethodRelationFinder.mjs
- scripts/code/extract/abstractions/method/rust/RustMethodRoleFinder.mjs
- scripts/code/extract/abstractions/method/rust/calls/RustCallEffects.mjs
- scripts/code/extract/abstractions/method/scala/ScalaMethodFinder.mjs
- scripts/code/extract/abstractions/method/scala/ScalaMethodRelationFinder.mjs
- scripts/code/extract/abstractions/method/scala/ScalaMethodRoleFinder.mjs
- scripts/code/extract/abstractions/method/scala/calls/ScalaCallEffects.mjs
- scripts/code/extract/abstractions/method/scheme/SchemeMethodRelationFinder.mjs
- scripts/code/extract/abstractions/method/scheme/calls/SchemeCallEffects.mjs
- scripts/code/extract/abstractions/method/sql/SqlMethodRelationFinder.mjs
- scripts/code/extract/abstractions/method/swift/SwiftMethodFinder.mjs
- scripts/code/extract/abstractions/method/swift/SwiftMethodRelationFinder.mjs
- scripts/code/extract/abstractions/method/typescript/TypeScriptMethodFinder.mjs
- scripts/code/extract/abstractions/method/typescript/TypeScriptMethodRelationFinder.mjs
- scripts/code/extract/abstractions/method/typescript/TypeScriptMethodRoleFinder.mjs
- scripts/code/extract/abstractions/method/typescript/calls/TypeScriptCallEffects.mjs
- scripts/code/extract/abstractions/method/typescript/jest/TypeScriptJestMethodFinder.mjs
- scripts/code/extract/abstractions/method/typescript/jest/TypeScriptJestMethodRoleFinder.mjs
- scripts/code/extract/abstractions/method/typescript/mocha/TypeScriptMochaMethodFinder.mjs
- scripts/code/extract/abstractions/method/typescript/mocha/TypeScriptMochaMethodRoleFinder.mjs
- scripts/code/extract/abstractions/method/typescript/nestjs/TypeScriptNestjsMethodRoleFinder.mjs
- scripts/code/extract/abstractions/method/typescript/node-test/TypeScriptNodeTestMethodFinder.mjs
- scripts/code/extract/abstractions/method/typescript/testing/JavaScriptTestCodeMarks.mjs
- scripts/code/extract/abstractions/method/typescript/vitest/TypeScriptVitestMethodFinder.mjs
- scripts/code/extract/abstractions/method/typescript/vitest/TypeScriptVitestMethodRoleFinder.mjs
- scripts/code/extract/abstractions/module/cpp/CppModuleFinder.mjs
- scripts/code/extract/abstractions/module/csharp/CSharpModuleFinder.mjs
- scripts/code/extract/abstractions/module/csharp/CSharpModuleRelationFinder.mjs
- scripts/code/extract/abstractions/module/generic/GenericModuleFinder.mjs
- scripts/code/extract/abstractions/module/generic/GenericModuleRelationFinder.mjs
- scripts/code/extract/abstractions/module/generic/GenericModuleRoleFinder.mjs
- scripts/code/extract/abstractions/module/generic/imports/ImportConventions.mjs
- scripts/code/extract/abstractions/module/generic/imports/ImportNames.mjs
- scripts/code/extract/abstractions/module/generic/imports/ImportResolution.mjs
- scripts/code/extract/abstractions/module/generic/imports/NestedImports.mjs
- scripts/code/extract/abstractions/module/generic/imports/PackageScope.mjs
- scripts/code/extract/abstractions/module/generic/published/ModuleOpenings.mjs
- scripts/code/extract/abstractions/module/generic/published/Openings.mjs
- scripts/code/extract/abstractions/module/generic/reading/FolderPaths.mjs
- scripts/code/extract/abstractions/module/generic/reading/ModuleFolderFiles.mjs
- scripts/code/extract/abstractions/module/generic/reading/ModuleReading.mjs
- scripts/code/extract/abstractions/module/generic/reading/SourceFile.mjs
- scripts/code/extract/abstractions/module/generic/shapes/GenericHexagonalShapeFinder.mjs
- scripts/code/extract/abstractions/module/generic/shapes/ModuleShapes.mjs
- scripts/code/extract/abstractions/module/generic/shapes/ShapeFacts.mjs
- scripts/code/extract/abstractions/module/generic/shapes/ShapeFamilies.mjs
- scripts/code/extract/abstractions/module/generic/shapes/ShapeFolderKinds.mjs
- scripts/code/extract/abstractions/module/generic/shapes/ShapeFolderWords.mjs
- scripts/code/extract/abstractions/module/go/GoModuleFinder.mjs
- scripts/code/extract/abstractions/module/go/GoModuleRelationFinder.mjs
- scripts/code/extract/abstractions/module/index.mjs
- scripts/code/extract/abstractions/module/java/JavaModuleFinder.mjs
- scripts/code/extract/abstractions/module/jvm/JvmModuleRelationFinder.mjs
- scripts/code/extract/abstractions/module/jvm/spring-modulith/JvmSpringModulithModuleFinder.mjs
- scripts/code/extract/abstractions/module/jvm/spring-modulith/JvmSpringModulithModuleRoleFinder.mjs
- scripts/code/extract/abstractions/module/jvm/spring/JvmSpringModuleFinder.mjs
- scripts/code/extract/abstractions/module/jvm/spring/JvmSpringModuleRelationFinder.mjs
- scripts/code/extract/abstractions/module/kotlin/KotlinModuleFinder.mjs
- scripts/code/extract/abstractions/module/php/PhpModuleRelationFinder.mjs
- scripts/code/extract/abstractions/module/python/PythonModuleFinder.mjs
- scripts/code/extract/abstractions/module/python/PythonModuleRelationFinder.mjs
- scripts/code/extract/abstractions/module/rust/RustModuleFinder.mjs
- scripts/code/extract/abstractions/module/rust/RustModuleRelationFinder.mjs
- scripts/code/extract/abstractions/module/scala/ScalaModuleRelationFinder.mjs
- scripts/code/extract/abstractions/module/typescript/TypeScriptModuleFinder.mjs
- scripts/code/extract/abstractions/module/typescript/TypeScriptModuleRelationFinder.mjs
- scripts/code/extract/abstractions/variable/ada/AdaVariableFinder.mjs
- scripts/code/extract/abstractions/variable/cpp/CppVariableFinder.mjs
- scripts/code/extract/abstractions/variable/csharp/CSharpVariableFinder.mjs
- scripts/code/extract/abstractions/variable/dart/DartVariableFinder.mjs
- scripts/code/extract/abstractions/variable/generic/GenericVariableFinder.mjs
- scripts/code/extract/abstractions/variable/generic/GenericVariableRelationFinder.mjs
- scripts/code/extract/abstractions/variable/generic/fields/FieldForms.mjs
- scripts/code/extract/abstractions/variable/generic/fields/FieldHeads.mjs
- scripts/code/extract/abstractions/variable/generic/fields/FieldItems.mjs
- scripts/code/extract/abstractions/variable/generic/fields/FieldWrites.mjs
- scripts/code/extract/abstractions/variable/generic/measures/VariableMeasures.mjs
- scripts/code/extract/abstractions/variable/generic/members/TypeMembers.mjs
- scripts/code/extract/abstractions/variable/generic/types/DeclaredTypes.mjs
- scripts/code/extract/abstractions/variable/generic/values/DeclaredValues.mjs
- scripts/code/extract/abstractions/variable/generic/values/NamedDeclarationForms.mjs
- scripts/code/extract/abstractions/variable/generic/values/ValueForms.mjs
- scripts/code/extract/abstractions/variable/go/GoVariableFinder.mjs
- scripts/code/extract/abstractions/variable/graphql/GraphQLVariableFinder.mjs
- scripts/code/extract/abstractions/variable/index.mjs
- scripts/code/extract/abstractions/variable/java/JavaVariableFinder.mjs
- scripts/code/extract/abstractions/variable/keytree/KeyTreeVariableFinder.mjs
- scripts/code/extract/abstractions/variable/kotlin/KotlinVariableFinder.mjs
- scripts/code/extract/abstractions/variable/objc/ObjectiveCVariableFinder.mjs
- scripts/code/extract/abstractions/variable/pascal/PascalVariableFinder.mjs
- scripts/code/extract/abstractions/variable/php/PhpVariableFinder.mjs
- scripts/code/extract/abstractions/variable/python/PythonVariableFinder.mjs
- scripts/code/extract/abstractions/variable/ruby/RubyVariableFinder.mjs
- scripts/code/extract/abstractions/variable/rust/RustVariableFinder.mjs
- scripts/code/extract/abstractions/variable/scala/ScalaVariableFinder.mjs
- scripts/code/extract/abstractions/variable/swift/SwiftVariableFinder.mjs
- scripts/code/extract/abstractions/variable/swift/SwiftVariableRelationFinder.mjs
- scripts/code/extract/abstractions/variable/typescript/TypeScriptVariableFinder.mjs
- scripts/code/extract/calls/BodilessDeclarations.mjs
- scripts/code/extract/calls/CallGraph.mjs
- scripts/code/extract/calls/CallGraphBuilder.mjs
- scripts/code/extract/calls/CallGraphReading.mjs
- scripts/code/extract/calls/CallGraphView.mjs
- scripts/code/extract/calls/CallGraphs.mjs
- scripts/code/extract/calls/ExitRoles.mjs
- scripts/code/extract/calls/SourceLayout.mjs
- scripts/code/extract/calls/resolution/AbstractTypes.mjs
- scripts/code/extract/calls/resolution/CallResolution.mjs
- scripts/code/extract/calls/resolution/CallTargets.mjs
- scripts/code/extract/calls/resolution/DeclarationLookups.mjs
- scripts/code/extract/calls/resolution/SupertypeWalk.mjs
- scripts/code/extract/calls/scope/FileLevelContexts.mjs
- scripts/code/extract/calls/scope/MethodScope.mjs
- scripts/code/extract/calls/scope/ParameterListText.mjs
- scripts/code/extract/calls/scope/TypeParametersInScope.mjs
- scripts/code/extract/finders/AbstractionFinder.mjs
- scripts/code/extract/finders/FinderContext.mjs
- scripts/code/extract/finders/FinderRegistry.mjs
- scripts/code/extract/finders/LanguageStrategies.mjs
- scripts/code/extract/finders/RelationFinder.mjs
- scripts/code/extract/finders/RoleFinder.mjs
- scripts/code/extract/finders/Strategy.mjs
- scripts/code/extract/finders/StrategyAnswers.mjs
- scripts/code/extract/kinds/PublicChangeKindReading.mjs
- scripts/code/extract/tree/AbstractionFacts.mjs
- scripts/code/extract/tree/AbstractionTree.mjs
- scripts/code/extract/tree/BoundaryRank.mjs
- scripts/code/extract/tree/CommentPlacement.mjs
- scripts/code/extract/tree/ReviewTreeAbstractions.mjs
- scripts/code/extract/tree/ReviewTreeGraphAbstractions.mjs
- scripts/code/extract/tree/TestLayout.mjs
- scripts/code/extract/tree/TestRecognition.mjs
- scripts/code/extract/walk/AbstractionWalker.mjs
- scripts/code/extract/walk/FilePlacement.mjs
- scripts/code/extract/walk/RepositoryWalk.mjs
- scripts/code/extract/walk/SourceRoles.mjs
- scripts/code/extract/walk/SourceWalk.mjs
- scripts/code/extract/walk/WalkedReferenceRecording.mjs
- scripts/code/extract/walk/WalkedReferenceResolution.mjs
- scripts/code/graph/CallGraphAbstractions.mjs
- scripts/code/graph/CodeGraph.mjs
- scripts/code/graph/Evidence.mjs
- scripts/code/graph/WalkedReferenceConverter.mjs
- scripts/code/graph/abstractions/Abstraction.mjs
- scripts/code/graph/abstractions/Boundary.mjs
- scripts/code/graph/abstractions/DeclaredAbstractions.mjs
- scripts/code/graph/abstractions/FileDeclarations.mjs
- scripts/code/graph/abstractions/Place.mjs
- scripts/code/graph/abstractions/Role.mjs
- scripts/code/graph/abstractions/Scale.mjs
- scripts/code/graph/abstractions/Signature.mjs
- scripts/code/graph/chains/Chain.mjs
- scripts/code/graph/chains/ChainWalker.mjs
- scripts/code/graph/relations/Reference.mjs
- scripts/code/graph/relations/Relation.mjs
- scripts/code/index.mjs
- scripts/code/inputs/change/AbstractionChange.mjs
- scripts/code/inputs/change/ChangeMarker.mjs
- scripts/code/inputs/change/ChangeReader.mjs
- scripts/code/inputs/change/ChangedFileText.mjs
- scripts/code/inputs/change/ChangedLines.mjs
- scripts/code/inputs/change/CreatedFolders.mjs
- scripts/code/inputs/change/DeclarationTags.mjs
- scripts/code/inputs/change/DiffDrivers.mjs
- scripts/code/inputs/change/Hunk.mjs
- scripts/code/inputs/change/KeyTreeChange.mjs
- scripts/code/inputs/change/MovedFiles.mjs
- scripts/code/inputs/change/PublicChangeKinds.mjs
- scripts/code/inputs/change/ReferenceOnlyLines.mjs
- scripts/code/inputs/change/RenameMap.mjs
- scripts/code/inputs/change/ReviewedChange.mjs
- scripts/code/inputs/change/TextAroundTheChange.mjs
- scripts/code/inputs/change/TrivialHunks.mjs
- scripts/code/inputs/repository/FileTree.mjs
- scripts/code/inputs/repository/GitCommands.mjs
- scripts/code/inputs/repository/RepositoryFileKinds.mjs
- scripts/code/inputs/repository/RepositoryFiles.mjs
- scripts/code/inputs/repository/RepositoryText.mjs
- scripts/code/inputs/repository/TrackedFiles.mjs
- scripts/code/inputs/repository/index/CachedSourceIndex.mjs
- scripts/code/inputs/repository/index/FamilyFiles.mjs
- scripts/code/inputs/repository/index/IndexCache.mjs
- scripts/code/inputs/repository/index/SourceIndex.mjs
- scripts/code/inputs/source/Languages.mjs
- scripts/code/inputs/source/SourceText.mjs
- scripts/code/inputs/source/TestCode.mjs
- scripts/code/inputs/source/TestPlacement.mjs
- scripts/code/inputs/source/declarations/DeclarationHeadReading.mjs
- scripts/code/inputs/source/declarations/DeclarationSpans.mjs
- scripts/code/inputs/source/declarations/DiffDriverHeads.mjs
- scripts/code/inputs/source/declarations/MarkedDeclarations.mjs
- scripts/code/inputs/source/declarations/SourceHeads.mjs
- scripts/code/inputs/source/declarations/TypeHolding.mjs
- scripts/code/inputs/source/drivers/LanguageDriver.mjs
- scripts/code/inputs/source/drivers/LanguageRegistry.mjs
- scripts/code/inputs/source/drivers/generic/GenericDriver.mjs
- scripts/code/inputs/source/drivers/generic/KeyTreeDriver.mjs
- scripts/code/inputs/source/drivers/generic/ProseDriver.mjs
- scripts/code/inputs/source/forms/BodyEnds.mjs
- scripts/code/inputs/source/forms/CommentForms.mjs
- scripts/code/inputs/source/forms/FunctionNamePatterns.mjs
- scripts/code/inputs/source/forms/LexicalForms.mjs
- scripts/code/inputs/source/forms/StringForms.mjs
- scripts/code/inputs/source/forms/StringReading.mjs
- scripts/code/inputs/source/keys/KeyPaths.mjs
- scripts/code/inputs/source/keys/KeyTree.mjs
- scripts/code/inputs/source/languages/ada/AdaLanguage.mjs
- scripts/code/inputs/source/languages/bash/BashLanguage.mjs
- scripts/code/inputs/source/languages/bibtex/BibtexLanguage.mjs
- scripts/code/inputs/source/languages/cpp/CppLanguage.mjs
- scripts/code/inputs/source/languages/csharp/CSharpLanguage.mjs
- scripts/code/inputs/source/languages/css/CssLanguage.mjs
- scripts/code/inputs/source/languages/dart/DartLanguage.mjs
- scripts/code/inputs/source/languages/dts/DtsLanguage.mjs
- scripts/code/inputs/source/languages/elixir/ElixirLanguage.mjs
- scripts/code/inputs/source/languages/erlang/ErlangLanguage.mjs
- scripts/code/inputs/source/languages/fortran/FortranLanguage.mjs
- scripts/code/inputs/source/languages/go/GoLanguage.mjs
- scripts/code/inputs/source/languages/graphql/GraphQLDriver.mjs
- scripts/code/inputs/source/languages/graphql/GraphQLLanguage.mjs
- scripts/code/inputs/source/languages/graphql/GraphQLSourceText.mjs
- scripts/code/inputs/source/languages/html/HtmlLanguage.mjs
- scripts/code/inputs/source/languages/java/JavaLanguage.mjs
- scripts/code/inputs/source/languages/kotlin/KotlinLanguage.mjs
- scripts/code/inputs/source/languages/lua/LuaLanguage.mjs
- scripts/code/inputs/source/languages/markdown/MarkdownLanguage.mjs
- scripts/code/inputs/source/languages/objc/ObjectiveCLanguage.mjs
- scripts/code/inputs/source/languages/pascal/PascalLanguage.mjs
- scripts/code/inputs/source/languages/perl/PerlLanguage.mjs
- scripts/code/inputs/source/languages/php/PhpLanguage.mjs
- scripts/code/inputs/source/languages/properties/PropertiesKeyLines.mjs
- scripts/code/inputs/source/languages/properties/PropertiesLanguage.mjs
- scripts/code/inputs/source/languages/python/PythonLanguage.mjs
- scripts/code/inputs/source/languages/ruby/RubyLanguage.mjs
- scripts/code/inputs/source/languages/rust/RustLanguage.mjs
- scripts/code/inputs/source/languages/scala/ScalaLanguage.mjs
- scripts/code/inputs/source/languages/scheme/SchemeLanguage.mjs
- scripts/code/inputs/source/languages/sql/SqlLanguage.mjs
- scripts/code/inputs/source/languages/swift/SwiftLanguage.mjs
- scripts/code/inputs/source/languages/tex/TexLanguage.mjs
- scripts/code/inputs/source/languages/typescript/TypeScriptLanguage.mjs
- scripts/code/inputs/source/languages/yaml/YamlKeyLines.mjs
- scripts/code/inputs/source/languages/yaml/YamlLanguage.mjs
- scripts/code/inputs/source/lines/Annotations.mjs
- scripts/code/inputs/source/lines/CommentLines.mjs
- scripts/code/inputs/source/lines/DecisionLines.mjs
- scripts/code/inputs/source/lines/ImportLines.mjs
- scripts/code/inputs/source/lines/LineKinds.mjs
- scripts/code/inputs/source/lines/StatementLines.mjs
- scripts/code/inputs/source/names/EverydayNames.mjs
- scripts/code/inputs/source/names/LanguageWords.mjs
- scripts/code/inputs/source/names/NameStems.mjs
- scripts/code/inputs/source/names/NameWords.mjs
- scripts/code/inputs/source/names/NamingConventions.mjs
- scripts/code/inputs/source/names/QualifiedNames.mjs
- scripts/code/inputs/source/names/UnspecificNames.mjs
- scripts/code/inputs/source/text/BlockEnds.mjs
- scripts/code/inputs/source/text/Brackets.mjs
- scripts/code/inputs/source/text/CodeLines.mjs
- scripts/code/inputs/source/text/PatternText.mjs
- scripts/code/inputs/source/text/QualifierText.mjs
- scripts/code/inputs/source/text/ShortenedText.mjs
- scripts/code/inputs/source/text/TextAroundAWord.mjs
- scripts/code/inputs/source/text/TextLiterals.mjs
- scripts/code/inputs/source/text/TopLevelText.mjs
- scripts/code/inputs/source/text/TypeText.mjs
- scripts/code/inputs/worktree/LastUsedMarker.mjs
- scripts/code/inputs/worktree/ReviewWorktree.mjs
- scripts/code/inputs/worktree/ReviewWorktreeSweep.mjs
- scripts/code/inputs/worktree/WorktreeRegistry.mjs
- scripts/collections/UnionFind.mjs
- scripts/collections/groupedLists.mjs
- scripts/collections/memos.mjs
- scripts/files/jsonFile.mjs
- scripts/files/paths.mjs
- scripts/files/runFile.mjs
- scripts/files/scriptSources.mjs
- scripts/files/workflowReturnFile.mjs
- scripts/review/merge/IoScreenResultWriter.mjs
- scripts/review/merge/MergeStep.mjs
- scripts/review/merge/PreparedRun.mjs
- scripts/review/merge/abstractions/AbstractionOfTheCodeUnderReview.mjs
- scripts/review/merge/abstractions/AbstractionsAtPlaces.mjs
- scripts/review/merge/abstractions/CodeUnderReviewPlaces.mjs
- scripts/review/merge/abstractions/CoveringTests.mjs
- scripts/review/merge/draft/CodeFormMarker.mjs
- scripts/review/merge/draft/CoveredPath.mjs
- scripts/review/merge/draft/DraftItem.mjs
- scripts/review/merge/draft/DraftLinesText.mjs
- scripts/review/merge/draft/DraftReport.mjs
- scripts/review/merge/draft/EntryBoundaryMarker.mjs
- scripts/review/merge/draft/FixGroup.mjs
- scripts/review/merge/draft/SamePattern.mjs
- scripts/review/merge/draft/Sweep.mjs
- scripts/review/merge/filing/ConfidenceCeilings.mjs
- scripts/review/merge/filing/Considerations.mjs
- scripts/review/merge/filing/FallbackUseFold.mjs
- scripts/review/merge/filing/FiledCheck.mjs
- scripts/review/merge/filing/ScriptSettled.mjs
- scripts/review/merge/lines/LineCheck.mjs
- scripts/review/merge/lines/RepositoryLines.mjs
- scripts/review/merge/lines/SliceLines.mjs
- scripts/review/merge/returns/JudgeReturn.mjs
- scripts/review/merge/returns/PossibleFindings.mjs
- scripts/review/merge/verify/CalledCodeUnderReview.mjs
- scripts/review/merge/verify/CoveredPathText.mjs
- scripts/review/merge/verify/PossibleFindingText.mjs
- scripts/review/merge/verify/RefuteFileText.mjs
- scripts/review/merge/verify/RefuterSelection.mjs
- scripts/review/merge/verify/VerifyFileText.mjs
- scripts/review/merge/verify/VerifyHandOff.mjs
- scripts/review/merge/verify/VerifyWaves.mjs
- scripts/review/prepare/PrepareStep.mjs
- scripts/review/prepare/abstractions/CodeGraphWalks.mjs
- scripts/review/prepare/abstractions/OutsideDeclarations.mjs
- scripts/review/prepare/abstractions/RepositoryAbstractions.mjs
- scripts/review/prepare/abstractions/ReviewTree.mjs
- scripts/review/prepare/abstractions/ReviewedFiles.mjs
- scripts/review/prepare/abstractions/lookups/AbstractionLookup.mjs
- scripts/review/prepare/abstractions/lookups/FileLines.mjs
- scripts/review/prepare/abstractions/lookups/MethodParameters.mjs
- scripts/review/prepare/abstractions/lookups/MethodText.mjs
- scripts/review/prepare/abstractions/references/MethodCallers.mjs
- scripts/review/prepare/abstractions/references/ReferenceContext.mjs
- scripts/review/prepare/abstractions/references/ReferenceLines.mjs
- scripts/review/prepare/abstractions/references/ReferenceOrder.mjs
- scripts/review/prepare/abstractions/references/ReferencePlaces.mjs
- scripts/review/prepare/abstractions/references/ReferenceTargets.mjs
- scripts/review/prepare/abstractions/slices/CodeSlice.mjs
- scripts/review/prepare/abstractions/slices/FieldTypeHeads.mjs
- scripts/review/prepare/abstractions/slices/FolderChildren.mjs
- scripts/review/prepare/abstractions/slices/ImportersInTheFolder.mjs
- scripts/review/prepare/abstractions/slices/KeyTreeSlice.mjs
- scripts/review/prepare/abstractions/slices/SourceRoots.mjs
- scripts/review/prepare/abstractions/walks/BoundaryPathsWalk.mjs
- scripts/review/prepare/abstractions/walks/CallChainsWalk.mjs
- scripts/review/prepare/abstractions/walks/CallWalks.mjs
- scripts/review/prepare/abstractions/walks/ExitBoundaryReachWalk.mjs
- scripts/review/prepare/abstractions/walks/InOutOperationsWalk.mjs
- scripts/review/prepare/abstractions/walks/RebuiltValuesWalk.mjs
- scripts/review/prepare/abstractions/walks/core/CoreFolders.mjs
- scripts/review/prepare/abstractions/walks/core/CoreOperationsWalk.mjs
- scripts/review/prepare/abstractions/walks/decisions/IdentifierUses.mjs
- scripts/review/prepare/abstractions/walks/decisions/KeyPlaces.mjs
- scripts/review/prepare/abstractions/walks/decisions/MatchingKeyLines.mjs
- scripts/review/prepare/abstractions/walks/decisions/MatchingKeyWalk.mjs
- scripts/review/prepare/abstractions/walks/decisions/NearTwinEvidence.mjs
- scripts/review/prepare/abstractions/walks/decisions/NearTwinTypeSearch.mjs
- scripts/review/prepare/abstractions/walks/decisions/SameDecisionWalk.mjs
- scripts/review/prepare/abstractions/walks/declarations/DeclarationEnclosingTypes.mjs
- scripts/review/prepare/abstractions/walks/declarations/NamedDeclarationsWalk.mjs
- scripts/review/prepare/abstractions/walks/declarations/ProductionReadings.mjs
- scripts/review/prepare/abstractions/walks/entryBoundaries/CodeForms.mjs
- scripts/review/prepare/abstractions/walks/entryBoundaries/ConditionReading.mjs
- scripts/review/prepare/abstractions/walks/entryBoundaries/EntryBoundariesWalk.mjs
- scripts/review/prepare/abstractions/walks/entryBoundaries/EntryBoundaryCallers.mjs
- scripts/review/prepare/abstractions/walks/entryBoundaries/EntryBoundaryFills.mjs
- scripts/review/prepare/abstractions/walks/entryBoundaries/FieldReadings.mjs
- scripts/review/prepare/abstractions/walks/entryBoundaries/SchemaTypes.mjs
- scripts/review/prepare/abstractions/walks/memberGroups/ClassMemberUses.mjs
- scripts/review/prepare/abstractions/walks/memberGroups/MemberGroups.mjs
- scripts/review/prepare/abstractions/walks/memberGroups/MemberGroupsWalk.mjs
- scripts/review/prepare/abstractions/walks/parameters/CarrierTypeSearch.mjs
- scripts/review/prepare/abstractions/walks/parameters/FilledTogetherSearch.mjs
- scripts/review/prepare/abstractions/walks/parameters/ParameterNamesInTheBody.mjs
- scripts/review/prepare/abstractions/walks/parameters/ParameterReads.mjs
- scripts/review/prepare/abstractions/walks/parameters/ScopedParameterRelationsWalk.mjs
- scripts/review/prepare/abstractions/walks/parameters/TwinTypeSearch.mjs
- scripts/review/prepare/abstractions/walks/parameters/TypeAbstractions.mjs
- scripts/review/prepare/abstractions/walks/testing/TestFrictionWalk.mjs
- scripts/review/prepare/abstractions/walks/testing/TestReachWalk.mjs
- scripts/review/prepare/abstractions/walks/testing/TopClassWiring.mjs
- scripts/review/prepare/agents/CostPlan.mjs
- scripts/review/prepare/agents/JudgeWaves.mjs
- scripts/review/prepare/agents/ScreenBatch.mjs
- scripts/review/prepare/formats/ChangedLinesText.mjs
- scripts/review/prepare/formats/CodeUnderReviewIds.mjs
- scripts/review/prepare/formats/CodeUnderReviewText.mjs
- scripts/review/prepare/formats/ListFileText.mjs
- scripts/review/prepare/formats/SliceFormat.mjs
- scripts/review/prepare/io/IoPaths.mjs
- scripts/review/prepare/io/IoReachText.mjs
- scripts/review/prepare/io/IoRuleCache.mjs
- scripts/review/prepare/io/IoRules.mjs
- scripts/review/prepare/io/IoSummary.mjs
- scripts/review/prepare/relations/BoundaryPathCodeUnderReview.mjs
- scripts/review/prepare/relations/BoundaryPathText.mjs
- scripts/review/prepare/relations/DesignRelationCodeUnderReview.mjs
- scripts/review/prepare/relations/DesignRelationText.mjs
- scripts/review/prepare/relations/EntryBoundaryCodeUnderReview.mjs
- scripts/review/prepare/relations/EntryBoundaryText.mjs
- scripts/review/prepare/relations/TestPlanCodeUnderReview.mjs
- scripts/review/prepare/relations/TestPlanText.mjs
- scripts/review/prepare/selection/AbstractionTreeWalk.mjs
- scripts/review/prepare/selection/ReviewFilter.mjs
- scripts/review/prepare/selection/SectionsByCheck.mjs
- scripts/review/prepare/selection/TrackSelection.mjs
- scripts/review/prepare/settled/ScriptFindings.mjs
- scripts/review/prepare/settled/ScriptSettledForms.mjs
- scripts/review/render/RenderStep.mjs
- scripts/review/render/reports/ChangeKindsOfTheReport.mjs
- scripts/review/render/reports/EvidenceReport.mjs
- scripts/review/render/reports/ReaderReport.mjs
- scripts/review/render/reports/SarifReport.mjs
- scripts/review/render/sections/ChangeSummary.mjs
- scripts/review/render/sections/IoEndsSection.mjs
- scripts/review/render/sections/ItemText.mjs
- scripts/review/render/sections/OwnFindings.mjs
- scripts/review/render/sections/ReturnedValueText.mjs
- scripts/review/render/sections/ScopeLine.mjs
- scripts/review/render/verdicts/SettledFindings.mjs
- scripts/review/render/verdicts/TestCoveredPaths.mjs
- scripts/review/render/verdicts/VerifyReturns.mjs
- scripts/runReview.mjs
- name
- laminar
- version
- 0.71.2
- description
- Reviews code against the three qualities of high-quality code in Laminar Software Design: simple to understand and change, correct in behavior, and fast enough for its purpose. A simplicity finding names the cognitive failure a reader meets, a correctness finding names the missing prevention decision or the missing test, and a performance finding names the waste a known alternative avoids. A coding style skill gives the same book's design directions, each with its reason, for any code that is written or changed.
- author
- Igor Zarvanskyi
- license
- MIT AND CC-BY-4.0
- extensions
- com.github.copilot
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "laminar",
"version": "0.71.2",
"description": "Reviews code against the three qualities of high-quality code in Laminar Software Design: simple to understand and change, correct in behavior, and fast enough for its purpose. A simplicity finding names the cognitive failure a reader meets, a correctness finding names the missing prevention decision or the missing test, and a performance finding names the waste a known alternative avoids. A coding style skill gives the same book's design directions, each with its reason, for any code that is written or changed.",
"author": {
"name": "Igor Zarvanskyi"
},
"license": "MIT AND CC-BY-4.0",
"keywords": ["code-review", "software-design", "simplicity", "correctness", "performance", "laminar"],
"extensions": {
"com.github.copilot": {}
}
}
What else this package ships
These files come with the package and this site does not publish them. They are listed so you know what is there before you install it.
- 566JavaScript files
- hooks.json
Client extensions
Data this package carries for particular clients. The directory lists the clients named and never reads what is addressed to them.
- com.github.copilotships a directory of files