The Silverfish IDP scans repositories to determine which languages are present and what components can be inferred from the source and package structure.
Language discovery gives the Silverfish IDP the context it needs to understand the repos composition and apply language-specific analysis to the contents.
The Silverfish IDP utilizes GitHub Linguist to perform the language analysis and so the language results reported in teh Dashboard should match those reported by GitHub.
Component discovery turns raw repos content into meaningful software units. Depending on the language and repo structure, this can include:
Different languages and build ecosystems expose structure differently. Component discovery is therefore only as good as the available rules and parsers for that language and packaging model. This is why the Silverfish IDP provides direct support for specific languages, rather than adopting a language-agnostic analysis approach.
Initially, the languages supported are teh three main .NET languages (C#, F# and VB.Net) and Ruby. Over time, this list will expand to include JavaScript, TypeScript, Java, Python, PHP and many more. As support expands, Silverfish will be able to identify more component shapes and produce richer dependency graphs.
Trying to reconnect to the server...