-
Notifications
You must be signed in to change notification settings - Fork 2
FingerprintJS naming conventions
-
public API keyis used to set up the javascript agent, -
secret API keyis needed for the server API authentication.
All new public repositories and packages should follow naming conventions, we don't want to rename existing projects. Provided examples are for visualizing all currently available repositories with the proposed naming conventions.
For new repositories it's recommended to use main branch instead of master.
The main idea in the proposed naming convention is to provide easy readability and information to the developers. Moreover, it will help us make the organization consistent. In most cases, the developer is interested in the repositories belonging to a specific product, therefore, the repository name starts with the product name. Then developer is looking for the specific project for his/her needs for the specific platform. Therefore <project-name>-<language/platform> suffix.
In general, <placeholders> should be in kebab case only, example: fingerprintjs-agent
-
<product>- mandatory, related product- Examples:
fingerprintjs,fingerprintjs-pro,botd
- Examples:
-
<project-name>- mandatory, descriptive name of the project- Examples:
server-api-sdk,agent,client,integrations
- Examples:
-
<language/platform>- optional, use when makes sense or it's plausible there will be available the same functionality for different language/platform in the future. Mostly apply to agents, wrappers, or SDKs.- Examples:
javascript,node,react,python
- Examples:
-
fingerprintjs-agentorfingerprintjs-client -
botd-agentorbotd-client botd-integrations-
fingerprint-android-clientorfingerprintjs-android-client
Is the repository related to the content, blog post, article, or video? Is it just an example without any supporting content?
-
blog- optional, mandatory if repository supports article and is not explanatory enough without supporting content -
<name-of-blog-or-example>- mandatory, should be descriptive or aligned with the blogpost name, if related to product, should start with product name- Examples:
adblocker-fingerprinting,audio-fingerprinting,fingerprintjs-react
- Examples:
-
<type>- mandatory, describes type of the supporting content- Examples:
demo,example
- Examples:
blog-adblocker-fingerprinting-demoblog-fingerprintjs-php-exampleblog-fingerprintjs-paywall-exampleblog-audio-fingerprinting-demo-
blog-fingerprintjs-multiple-signups-example- used only in video but we don't to introduce a new cattegory for video fingerprintjs-react-example
-
<name-of-the-project>- should be descriptive
fingerprintjs.comnice-pg-sql-toolkitexternal-protocol-flooding
- The name of the package should reflect the
<product>-<project-name>with the respect to the package registry guidelines - The name of the package should follow package registry conventions, e.g. on npm @fingerprintjs/fingerprintjs-agent or Nuget: FingeprintJS.Botd.Client
-
@fingerprintjs/fingerprintjs-agentor@fingerprintjs/fingerprintjs-client -
@fingerprintjs/fingerprintjs-pro-agentor@fingerprintjs/fingerprintjs-pro-client -
@fpjs-incubator/botd-agentmight be renamed in the future to@fingerprintjs/botd-agent