title
description
last_updated
template
originalLink
originalArticleId
redirect_from
related
Architecture Sniffer
Use Architecture Sniffer to ensure the quality of Spryker architecture for both core and project
Nov 11, 2021
concept-topic-template
33ab1b5b-fce7-4439-8722-87e5ecd9f3c5
/docs/sdk/dev/development-tools/architecture-sniffer.html
/docs/scos/dev/sdk/201811.0/development-tools/architecture-sniffer.html
/docs/scos/dev/sdk/201903.0/development-tools/architecture-sniffer.html
/docs/scos/dev/sdk/201907.0/development-tools/architecture-sniffer.html
/docs/scos/dev/sdk/202001.0/development-tools/architecture-sniffer.html
/docs/scos/dev/sdk/202005.0/development-tools/architecture-sniffer.html
/docs/scos/dev/sdk/202009.0/development-tools/architecture-sniffer.html
/docs/scos/dev/sdk/202108.0/development-tools/architecture-sniffer.html
/docs/scos/dev/sdk/development-tools/development-tools.html
/docs/scos/dev/sdk/development-tools/architecture-sniffer.html
title
link
Code sniffer
docs/scos/dev/sdk/development-tools/code-sniffer.html
title
link
Formatter
docs/scos/dev/sdk/development-tools/formatter.html
title
link
Performance audit tool- Benchmark
docs/scos/dev/sdk/development-tools/performance-audit-tool-benchmark.html
title
link
PHPStan
docs/scos/dev/sdk/development-tools/phpstan.html
title
link
SCSS linter
docs/scos/dev/sdk/development-tools/scss-linter.html
title
link
TS linter
docs/scos/dev/sdk/development-tools/ts-linter.html
title
link
Spryk code generator
docs/scos/dev/sdk/development-tools/spryk-code-generator.html
title
link
Static Security Checker
docs/scos/dev/sdk/development-tools/static-security-checker.html
title
link
Tooling config file
docs/scos/dev/sdk/development-tools/tooling-config-file.html
We use our Architecture Sniffer Tool to ensure the quality of Spryker architecture for both core and project.
The sniffer can find a lot of violations and will report them:
$ vendor /bin/console code:sniff:architecture
// Sniff a specific subfolder of your project - with verbose output
$ vendor/bin/console code:sniff:architecture src/Pyz /Zed -v
// Sniff a specific module
$ vendor /bin/console code:sniff:architecture -m Customer
{% info_block infoBox "Tip" %}
c:s:a
can be used as a shortcut.
{% endinfo_block %}
Additional options:
-p
: Priority [1 (highest), 2 (medium), 3 (experimental)] (defaults to 2)
-s
: Strict (to also report those nodes with a @SuppressWarnings annotation)
-d
: Dry-run, only output the command to be run
Run –help
or -h
to get help about usage of all options available.
See the Architecture Sniffer documentation for details and information on how to set it up for your CI system as a checking tool for each PR.
Conventions and guidelines
If you have a running Demoshop, go to Architecture rules in the Zed backend to get an overview of all currently implemented rules.