{"offers": [{"source": "https://github.com/jessegall/code-commandments", "title": "Code Commandments", "description": "The static code checker judges the codebase, its hooks run inside the journal, and every rule and language is a switch in its settings", "fits": {"languages": ["PHP", "Python", "TypeScript", "Vue", "C#"], "files": []}, "commit": "5b4667fa41b556048186be0156582e288002edc2", "commands": ["needs curl: curl --version", "needs sha256sum: command -v sha256sum || command -v shasum", "setup Fetch the checker's release binary, checked against its SHA256SUMS: sh .journal-plugin/fetch", "setup Write the chosen switches into config.json: bin/commandments-release journal-config --keep-folders", "setup Check for sins, on demand: journal check create \"Check for sins\" --set command=\".journal/plugins/code-commandments/bin/commandments-release judge\" --set every=0 --set failure=\"Code Commandments found {summary}\"", "service hooks: bin/commandments-release journal-serve", "service roslyn: bin/commandments-release roslyn-serve", "service mypy: bin/commandments-release mypy-serve", "on hook.PostToolUse: bin/commandments-release journal-hook", "on hook.Stop: bin/commandments-release journal-hook", "on hook.SessionStart: bin/commandments-release journal-hook", "on hook.SubagentStart: bin/commandments-release journal-hook", "on plugin.updated: bin/commandments-release journal-config", "refuse may refuse a write: bin/commandments-release journal-hook", "hook PostToolUse: Runs beside the agent", "hook Stop: Runs beside the agent", "hook SessionStart: Runs beside the agent", "hook SubagentStart: Runs beside the agent", "hook PreToolUse: The agent waits for it", "setting folders_judged: Folders to check", "setting folders_skipped: Folders to leave out", "setting judge_parallel: Rules judged at once", "setting language_php: PHP", "setting language_vue: Vue", "setting language_ts: TypeScript", "setting language_py: Python", "setting language_cs: C#", "setting sin_blank-string-default: BlankStringDefault", "setting sin_blank-string-on-the-wire: BlankStringOnTheWire", "setting sin_cancelled-coalesce: CancelledCoalesce", "setting sin_conditional-array-spread: ConditionalArraySpread", "setting sin_de-nulled-finder: DeNulledFinder", "setting sin_erased-null-object: ErasedNullObject", "setting sin_nullable-callback: NullableCallback", "setting sin_option-as-nullable: OptionAsNullable", "setting sin_flag-argument: FlagArgument", "setting sin_member-after-method: MemberAfterMethod", "setting sin_member-out-of-order: MemberOutOfOrder", "setting sin_concurrent-subclass: ConcurrentSubclass", "setting sin_namespace-cycle: NamespaceCycle", "setting sin_namespace-dependency: NamespaceDependency", "setting sin_archaeology-comment: ArchaeologyComment", "setting sin_bloated-docblock: BloatedDocblock", "setting sin_ceremony-docblock: CeremonyDocblock", "setting sin_dangling-doc-reference: DanglingDocReference", "setting sin_inline-docblock: InlineDocblock", "setting sin_negative-space-comment: NegativeSpaceComment", "setting sin_restated-comment: RestatedComment", "setting sin_stacked-docblock: StackedDocblock", "setting sin_const-class-enum: ConstClassEnum", "setting sin_enum-case-or-chain: EnumCaseOrChain", "setting sin_enum-value-match: EnumValueMatch", "setting sin_in-array-mirrors-enum: InArrayMirrorsEnum", "setting sin_match-default-returns-null: MatchDefaultReturnsNull", "setting sin_string-match-mirrors-enum: StringMatchMirrorsEnum", "setting sin_unnamed-vocabulary-literal: UnnamedVocabularyLiteral", "setting sin_generic-exception: GenericException", "setting sin_message-at-throw: MessageAtThrow", "setting sin_swallow-catch: SwallowCatch", "setting sin_wrapping-without-cause: WrappingWithoutCause", "setting sin_constructor-side-effect: ConstructorSideEffect", "setting sin_divergent-twin: DivergentTwin", "setting sin_duplicate-function: DuplicateFunction", "setting sin_manufactured-fake-fill: ManufacturedFakeFill", "setting sin_mutable-static-state: MutableStaticState", "setting sin_near-duplicate-function: NearDuplicateFunction", "setting sin_coalesced-loop-subject: CoalescedLoopSubject", "setting sin_deep-nesting: DeepNesting", "setting sin_if-else-ladder: IfElseLadder", "setting sin_inline-throw: InlineThrow", "setting sin_loop-inverted-guard: LoopInvertedGuard", "setting sin_nested-ternary: NestedTernary", "setting sin_non-counting-for: NonCountingFor", "setting sin_redundant-else: RedundantElse", "setting sin_short-circuit-statement: ShortCircuitStatement", "setting sin_ternary-statement: TernaryStatement", "setting sin_config-read: ConfigRead", "setting sin_container-reach: ContainerReach", "setting sin_dead-config-key: DeadConfigKey", "setting sin_dead-event-wiring: DeadEventWiring", "setting sin_duplicated-config-default: DuplicatedConfigDefault", "setting sin_facade-call: FacadeCall", "setting sin_mass-update-at-call-site: MassUpdateAtCallSite", "setting sin_model-mutation-at-call-site: ModelMutationAtCallSite", "setting sin_orphaned-binding: OrphanedBinding", "setting sin_raw-request-input: RawRequestInput", "setting sin_request-accessor-recast: RequestAccessorRecast", "setting sin_bare-state-predicate: BareStatePredicate", "setting sin_narrated-command: NarratedCommand", "setting sin_constructor-orchestration: ConstructorOrchestration", "setting sin_injected-service-not-hidden: InjectedServiceNotHidden", "setting sin_manual-output-transform: ManualOutputTransform", "setting sin_page-object-missing-typescript: PageObjectMissingTypeScript", "setting sin_service-location-in-page-object: ServiceLocationInPageObject", "setting sin_transformer-without-ts-type: TransformerWithoutTsType", "setting sin_computed-boolean-argument: ComputedBooleanArgument", "setting sin_converted-argument: ConvertedArgument", "setting sin_derived-argument: DerivedArgument", "setting sin_param-resolved-from-param: ParamResolvedFromParam", "setting sin_repeated-guard: RepeatedGuard", "setting sin_repeated-named-call: RepeatedNamedCall", "setting sin_repeated-type-guard: RepeatedTypeGuard", "setting sin_nullable-registry-lookup: NullableRegistryLookup", "setting sin_boundary-duplicated-operation: BoundaryDuplicatedOperation", "setting sin_dangling-route-name: DanglingRouteName", "setting sin_duplicate-route: DuplicateRoute", "setting sin_duplicate-route-action: DuplicateRouteAction", "setting sin_route-delegates-to-controller: RouteDelegatesToController", "setting sin_all-nullable-data: AllNullableData", "setting sin_all-optional-data: AllOptionalData", "setting sin_data-collection-type: DataCollectionType", "setting sin_data-method-hint-collision: DataMethodHintCollision", "setting sin_hook-missing-computed: HookMissingComputed", "setting sin_manual-hydration-loop: ManualHydrationLoop", "setting sin_manual-input-cast: ManualInputCast", "setting sin_nested-type-missing-typescript: NestedTypeMissingTypeScript", "setting sin_new-data-object: NewDataObject", "setting sin_non-final-data: NonFinalData", "setting sin_null-to-optional-map: NullToOptionalMap", "setting sin_nullable-wire-object: NullableWireObject", "setting sin_prefer-optional-create: PreferOptionalCreate", "setting sin_data-to-array-roundtrip: DataToArrayRoundtrip", "setting sin_derived-collection-cast: DerivedCollectionCast", "setting sin_hand-key-remap: HandKeyRemap", "setting sin_redundant-enum-unwrap: RedundantEnumUnwrap", "setting sin_redundant-native-cast: RedundantNativeCast", "setting sin_redundant-nested-from: RedundantNestedFrom", "setting sin_feature-envy: FeatureEnvy", "setting sin_keyed-lookup-envy: KeyedLookupEnvy", "setting sin_type-switch: TypeSwitch", "setting sin_assembled-template: AssembledTemplate", "setting sin_masked-invariant: MaskedInvariant", "setting sin_phantom-nullable: PhantomNullable", "setting sin_placeholder-filled-data: PlaceholderFilledData", "setting sin_redundant-arrow-return-type: RedundantArrowReturnType", "setting sin_scratch-state-restore: ScratchStateRestore", "setting sin_useless-property-hook: UselessPropertyHook", "setting sin_array-bag: ArrayBag", "setting sin_array-return-bag: ArrayReturnBag", "setting sin_coupled-fields: CoupledFields", "setting sin_data-clump: DataClump", "setting sin_flat-field-cluster: FlatFieldCluster", "setting sin_hand-rolled-wither: HandRolledWither", "setting sin_mutable-value-object: MutableValueObject", "setting sin_positional-tuple-return: PositionalTupleReturn", "setting sin_raw-decoded-array-return: RawDecodedArrayReturn", "setting sin_csharp-blank-string-default: BlankStringDefault", "setting sin_csharp-cancelled-coalesce: CancelledCoalesce", "setting sin_csharp-de-nulled-finder: DeNulledFinder", "setting sin_csharp-invented-default: InventedDefault", "setting sin_csharp-null-forgiven: NullForgiven", "setting sin_csharp-flag-argument: FlagArgument", "setting sin_csharp-member-after-method: MemberAfterMethod", "setting sin_csharp-member-out-of-order: MemberOutOfOrder", "setting sin_csharp-namespace-cycle: NamespaceCycle", "setting sin_csharp-namespace-dependency: NamespaceDependency", "setting sin_csharp-archaeology-comment: ArchaeologyComment", "setting sin_csharp-bloated-docblock: BloatedDocblock", "setting sin_csharp-ceremony-docblock: CeremonyDocblock", "setting sin_csharp-dangling-doc-reference: DanglingDocReference", "setting sin_csharp-negative-space-comment: NegativeSpaceComment", "setting sin_csharp-restated-comment: RestatedComment", "setting sin_duplicate-csharp-method: DuplicateMethod", "setting sin_near-duplicate-csharp-method: NearDuplicateMethod", "setting sin_csharp-const-class-enum: ConstClassEnum", "setting sin_csharp-enum-case-or-chain: EnumCaseOrChain", "setting sin_csharp-in-array-mirrors-enum: InArrayMirrorsEnum", "setting sin_csharp-match-default-returns-null: MatchDefaultReturnsNull", "setting sin_csharp-string-mirrors-enum: StringMirrorsEnum", "setting sin_csharp-unnamed-vocabulary-literal: UnnamedVocabularyLiteral", "setting sin_csharp-generic-throw: GenericThrow", "setting sin_csharp-swallowed-exception: SwallowedException", "setting sin_csharp-wrapping-without-cause: WrappingWithoutCause", "setting sin_csharp-constructor-side-effect: ConstructorSideEffect", "setting sin_csharp-mutable-static-state: MutableStaticState", "setting sin_csharp-coalesced-loop-subject: CoalescedLoopSubject", "setting sin_csharp-inline-throw: InlineThrow", "setting sin_csharp-loop-wrapped-in-if: LoopWrappedInIf", "setting sin_csharp-nested-ternary: NestedTernary", "setting sin_csharp-non-counting-for: NonCountingFor", "setting sin_csharp-subject-ladder: SubjectLadder", "setting sin_deep-csharp-nesting: DeepNesting", "setting sin_redundant-csharp-else: RedundantElse", "setting sin_csharp-bare-state-predicate: BareStatePredicate", "setting sin_csharp-converted-argument: ConvertedArgument", "setting sin_csharp-derived-argument: DerivedArgument", "setting sin_csharp-param-resolved-from-param: ParamResolvedFromParam", "setting sin_csharp-repeated-guard: RepeatedGuard", "setting sin_csharp-repeated-named-call: RepeatedNamedCall", "setting sin_csharp-repeated-type-guard: RepeatedTypeGuard", "setting sin_csharp-feature-envy: FeatureEnvy", "setting sin_csharp-type-switch: TypeSwitch", "setting sin_csharp-assembled-template: AssembledTemplate", "setting sin_csharp-placeholder-filled-data: PlaceholderFilledData", "setting sin_csharp-array-return-bag: ArrayReturnBag", "setting sin_csharp-coupled-fields: CoupledFields", "setting sin_csharp-data-clump: DataClump", "setting sin_csharp-dictionary-bag: DictionaryBag", "setting sin_csharp-mutable-value-object: MutableValueObject", "setting sin_csharp-positional-tuple-return: PositionalTupleReturn", "setting sin_mirrored-server-type: MirroredServerType", "setting sin_compound-inline-component: CompoundInlineComponent", "setting sin_deep-data-reach: DeepDataReach", "setting sin_deep-nested: DeepNested", "setting sin_duplicate-element: DuplicateElement", "setting sin_inline-case-views: InlineCaseViews", "setting sin_near-duplicate-element: NearDuplicateElement", "setting sin_oversized-component: OversizedComponent", "setting sin_prop-drilling: PropDrilling", "setting sin_prop-mutation: PropMutation", "setting sin_control-flow-on-element: ControlFlowOnElement", "setting sin_index-as-key: IndexAsKey", "setting sin_loop-with-condition: LoopWithCondition", "setting sin_switch-case: SwitchCase", "setting sin_python-blank-string-default: BlankStringDefault", "setting sin_python-cancelled-fallback: CancelledFallback", "setting sin_python-conditional-spread: ConditionalSpread", "setting sin_python-invented-default: InventedDefault", "setting sin_python-nullable-callback: NullableCallback", "setting sin_python-flag-argument: FlagArgument", "setting sin_python-member-after-method: MemberAfterMethod", "setting sin_python-member-out-of-order: MemberOutOfOrder", "setting sin_python-namespace-cycle: NamespaceCycle", "setting sin_python-namespace-dependency: NamespaceDependency", "setting sin_python-archaeology-comment: ArchaeologyComment", "setting sin_python-bloated-docblock: BloatedDocblock", "setting sin_python-ceremony-docblock: CeremonyDocblock", "setting sin_python-dangling-doc-reference: DanglingDocReference", "setting sin_python-negative-space-comment: NegativeSpaceComment", "setting sin_python-restated-comment: RestatedComment", "setting sin_duplicate-python-function: DuplicateFunction", "setting sin_near-duplicate-python-function: NearDuplicateFunction", "setting sin_python-constant-class-enum: ConstantClassEnum", "setting sin_python-enum-case-or-chain: EnumCaseOrChain", "setting sin_python-enum-value-match: EnumValueMatch", "setting sin_python-in-literals-mirrors-enum: InLiteralsMirrorsEnum", "setting sin_python-match-wildcard-returns-none: MatchWildcardReturnsNone", "setting sin_python-string-match-mirrors-enum: StringMatchMirrorsEnum", "setting sin_python-unnamed-vocabulary-literal: UnnamedVocabularyLiteral", "setting sin_python-message-string-raise: MessageStringRaise", "setting sin_python-raise-without-cause: RaiseWithoutCause", "setting sin_python-swallowed-exception: SwallowedException", "setting sin_python-constructor-side-effect: ConstructorSideEffect", "setting sin_python-divergent-twin: DivergentTwin", "setting sin_python-mutable-static-state: MutableStaticState", "setting sin_deep-python-nesting: DeepNesting", "setting sin_python-coalesced-loop-subject: CoalescedLoopSubject", "setting sin_python-conditional-statement: ConditionalStatement", "setting sin_python-loop-wrapped-in-if: LoopWrappedInIf", "setting sin_python-nested-conditional: NestedConditional", "setting sin_python-short-circuit-statement: ShortCircuitStatement", "setting sin_python-subject-ladder: SubjectLadder", "setting sin_redundant-python-else: RedundantElse", "setting sin_python-bare-state-predicate: BareStatePredicate", "setting sin_python-narrated-command: NarratedCommand", "setting sin_python-computed-boolean-argument: ComputedBooleanArgument", "setting sin_python-converted-argument: ConvertedArgument", "setting sin_python-derived-argument: DerivedArgument", "setting sin_python-param-resolved-from-param: ParamResolvedFromParam", "setting sin_python-repeated-guard: RepeatedGuard", "setting sin_python-repeated-named-call: RepeatedNamedCall", "setting sin_python-repeated-type-guard: RepeatedTypeGuard", "setting sin_python-nullable-registry-lookup: NullableRegistryLookup", "setting sin_python-feature-envy: FeatureEnvy", "setting sin_python-keyed-lookup-envy: KeyedLookupEnvy", "setting sin_python-type-switch: TypeSwitch", "setting sin_python-assembled-template: AssembledTemplate", "setting sin_python-constant-property: ConstantProperty", "setting sin_python-masked-invariant: MaskedInvariant", "setting sin_python-phantom-nullable: PhantomNullable", "setting sin_python-placeholder-filled-data: PlaceholderFilledData", "setting sin_python-scratch-state-restore: ScratchStateRestore", "setting sin_python-coupled-fields: CoupledFields", "setting sin_python-data-clump: DataClump", "setting sin_python-dict-bag: DictBag", "setting sin_python-dict-return-bag: DictReturnBag", "setting sin_python-hand-rolled-replace: HandRolledReplace", "setting sin_python-mutable-value-object: MutableValueObject", "setting sin_python-positional-tuple-return: PositionalTupleReturn", "setting sin_python-raw-decoded-return: RawDecodedReturn", "setting sin_defended-certain-field: DefendedCertainField", "setting sin_falsely-optional-field: FalselyOptionalField", "setting sin_duplicate-typescript-function: DuplicateFunction", "setting sin_near-duplicate-typescript-function: NearDuplicateFunction"]}]}