# Avoid adding -ly to ordinal numbers (EK00048)

import { Aside, Badge } from '@astrojs/starlight/components';

Plain ordinals such as first and second read more cleanly than firstly and secondly, especially in numbered steps. EkLine flags ordinal numbers that carry an "-ly" suffix and suggests the plain ordinal (rule EK00048).

## Why use plain ordinals instead of firstly or secondly?

Forms like "firstly" and "secondly" add a syllable without adding meaning. Plain ordinals are shorter and match how readers scan a sequence of steps. Dropping the "-ly" suffix keeps enumerations consistent and removes a common source of wordiness in procedural writing.

## What EkLine flags

EK00048 detects ordinals with an "-ly" suffix such as `firstly`, `secondly`, and `thirdly`.

- ❌ **Incorrect:** Firstly, install the CLI.
- ✅ **Correct:** First, install the CLI.
- ❌ **Incorrect:** Secondly, add your API key.
- ✅ **Correct:** Second, add your API key.

## How to fix

Remove the "-ly" suffix. Change "firstly" to "first" and "secondly" to "second".

<Aside type="tip">
For a sequence of actions, consider a numbered list instead of ordinal words. A list makes the order visible and removes the need for "first" or "second" entirely.
</Aside>

## FAQ

### Is it "firstly" or "first" in documentation?

Use "first". Forms like "firstly" and "secondly" add a syllable without adding meaning, and plain ordinals match how readers scan a sequence.

### What is a cleaner alternative to ordinal words?

For a sequence of actions, use a numbered list. It makes the order visible and removes the need for "first" or "second" entirely.

## Rule details

| Property | Value |
|----------|-------|
| Rule ID | `EK00048` |
| Category | Tone and voice |
| Default severity | <Badge text="Error" variant="danger" /> |
| Enabled by default | Yes |

## Ignore this rule

To keep an ordinal adverb on one line, add an inline comment with a reason:

```markdown
<!-- ekline-ignore-next-line EK00048 -- direct quotation -->
"Firstly, thank you all for coming."
```

To disable the rule across your project, add it to the `ignore` list in your [configuration file](/reviewer/configuration/ignoring-rules/#ignore).

## Related rules

- [EK00029](/reviewer/rules/ek00029/) — Spell out ordinal numbers
- [EK00045](/reviewer/rules/ek00045/) — Avoid ordinal numbers in dates