# ember/template-no-only-default-slot
🔧 This rule is automatically fixable by the [`--fix` CLI option](https://eslint.org/docs/latest/user-guide/command-line-interface#--fix).
Disallows using only the `default` slot when rendering content into a component.
The default slot (`<:default>`) is used to explicitly target the main content block of a component. However, when _only_ the default slot is used — with no named slots — the extra syntax is redundant and unnecessary.
This rule disallows using only the `default` slot block when rendering content into a component. The preferred form is to pass the content directly, without the default slot wrapper.
## Motivation
When a component has a single default block like this:
```gjs
<:default>
Hello!
```
The `<:default>` adds no semantic value. It's simpler and clearer to write:
```gjs
Hello!
```
Explicit slot naming should only be used when multiple slots are present, and disambiguation is needed.
## Examples
This rule **forbids** the following:
```gjs
<:default>
What?
```
```gjs
<:default>
Hello world
```
This rule **allows** the following:
```gjs
Hello!
```
```gjs
<:header>Header
<:default>Content
```
## Migration
If you see this pattern:
```hbs
<:default>
Card Content
```
Just remove the `<:default>` wrapper:
```hbs
Card Content
```
## References
- [Ember Guides - Named Blocks](https://guides.emberjs.com/release/components/block-content/#toc_named-blocks)