Is there anything different about the dependencies that start with @?
Does that mean or imply something?
I don't see any info about that. Take a look at my node_modules folder:

Fortawesome starts with @ and does not contain the typical fortawesome.css file.
So is it the same? Or does the @ indicate something?
This is my package.json:
{
"name": "ng-frontend",
"version": "0.0.0",
"license": "MIT",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build --prod",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@angular/animations": "^5.2.0",
"@angular/common": "^5.2.0",
"@angular/compiler": "^5.2.0",
"@angular/core": "^5.2.0",
"@angular/forms": "^5.2.0",
"@angular/http": "^5.2.0",
"@angular/platform-browser": "^5.2.0",
"@angular/platform-browser-dynamic": "^5.2.0",
"@angular/router": "^5.2.0",
"@fortawesome/fontawesome": "^1.1.4",
"animate.css": "^3.6.1",
"bootstrap": "^4.0.0",
"core-js": "^2.4.1",
"jasny-bootstrap": "^3.1.3",
"jquery": "^3.3.1",
"popper.js": "^1.12.9",
"rxjs": "^5.5.6",
"zone.js": "^0.8.19"
},
"devDependencies": {
"@angular/cli": "~1.7.2",
"@angular/compiler-cli": "^5.2.0",
"@angular/language-service": "^5.2.0",
"@types/jasmine": "~2.8.3",
"@types/jasminewd2": "~2.0.2",
"@types/node": "~6.0.60",
"codelyzer": "^4.0.1",
"jasmine-core": "~2.8.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~2.0.0",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "^1.2.1",
"karma-jasmine": "~1.1.0",
"karma-jasmine-html-reporter": "^0.2.2",
"protractor": "~5.1.2",
"ts-node": "~4.1.0",
"tslint": "~5.9.1",
"typescript": "~2.5.3"
}
}
This question is not about Angular.
If a package's name begins with @, then it is a scoped package. The scope is everything in between the @ and the slash
@scope/project-name
To create a scoped package, you simply use a package name that starts with your scope.
{
"name": "@username/project-name"
}
More details, Please visit scoped package
and
What does "@" symbol mean in "import { Component } from '@angular/core';" statement?
@ refer to npm scoped packages:
When used in package names, scopes are preceded by an @ symbol and followed by a slash
Scopes are a way of grouping related packages together.
For instance, your package.json contains some @angular/ prefixed dependencies (@angular/animations, @angular/compiler-cli, etc) which means that they are under angular scope. The code of all those dependencies is under @angular directory.
packages with @ denotes the organisation. In this case the organisation is Fortawesome. It contains multiple packages (you can see it inside @fortawesome folder).
As described on npm page
Creating an Organization on npm gives you an Organization scope under which you can have your own namespace for packages.
Scopes are great for many reasons, for example:
Hope that helps.