Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
.DS_Store
node_modules
dist
1 change: 1 addition & 0 deletions .husky/_/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*
1 change: 1 addition & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
npm exec -- lint-staged
4 changes: 4 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
node_modules
dist
.DS_Store

35 changes: 21 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# SimpleDoc
> Lightweight standard for organizing Markdown documentation in codebases

> Lightweight standard for organizing Markdown documentation in codebases

SimpleDoc defines a small set of rules for the naming and placement of Markdown files in a codebase, agnostic of any documentation framework:

Expand All @@ -19,18 +20,28 @@ SimpleDoc defines two types of files:
- MUST NOT use capital letters in filename for Latin, Greek, Cyrillic and other writing systems that have lowercase/uppercase distinction.
- MAY use non-ASCII characters, e.g. `docs/2025-12-22-postmortem-login-ausfälle.md`, `docs/2025-12-22-功能-设计说明.md`.
- Date-prefixed files SHOULD contain YAML frontmatter with at least `title`, `author` and `date` fields, but we are all people and sometimes don't have time to write a proper frontmatter, so it is not required. E.g.
```yaml
---
title: Implementation Plan
author: John Doe <john.doe@example.com>
date: 2025-12-22
---
```
```yaml
---
title: Implementation Plan
author: John Doe <john.doe@example.com>
date: 2025-12-22
---
```
- If present in YAML frontmatter, author SHOULD be of `Name <email>` per the RFC 5322 name-addr mailbox format and date SHOULD be ISO 8601 `YYYY-MM-DD` format.

### 2. Capitalized files

- Capitalized files SHOULD be used for general documents that are not tied to a specific time, e.g. `README.md`, `AGENTS.md`, `INSTALLATION.md`, `HOW_TO_DEBUG.md`.
- Capitalized files SHOULD be used for general documents that are not tied to a specific time, e.g. `README.md`, `AGENTS.md`, `INSTALL.md`, `HOW_TO_DEBUG.md`.

## Installation

Run the migrator from the repo root:

```bash
npx -y @simpledoc/simpledoc migrate
```

This will start a step-by-step wizard to migrate existing documentation to SimpleDoc and add instructions to `AGENTS.md` to follow it.

## Why?

Expand All @@ -48,10 +59,6 @@ Agentic coding harnesses might choose to be unopinionated about such conventions

See my [blog post on agent documentation workflows](https://solmaz.io/agent-doc-workflow) for more details.

### Installation

For setting up SimpleDoc in your agentic repository, see [INSTALL.md](./docs/INSTALL.md).

## Inspiration

The ISO 8601 date-prefixed format was inspired by the [Jekyll](https://jekyllrb.com/) blog engine, though the framework itself defines `_posts/` folder for posts which is not exactly human readable.
Expand All @@ -62,4 +69,4 @@ For an example in this repo, see [docs/2025-12-22-created-simpledoc.md](docs/202

## License

SimpleDoc is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
SimpleDoc is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
2 changes: 1 addition & 1 deletion docs/2025-12-22-created-simpledoc.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ At the beginning, I did not know how to communicate the solution easily while fi

So I created this. I hope it helps you create order out of chaos in your `docs/` folder.

This post is both a blog post intended to mark this event, and an example for SimpleDoc itself, together with [HOW_TO_DOC.md](./HOW_TO_DOC.md) in this folder.
This post is both a blog post intended to mark this event, and an example for SimpleDoc itself, together with [HOW_TO_DOC.md](./HOW_TO_DOC.md) in this folder.
4 changes: 2 additions & 2 deletions docs/HOW_TO_DOC.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,10 +64,10 @@ Every doc **must** start with YAML front matter:

```yaml
---
date: 2025-10-24 # From `date +%Y-%m-%d`
date: 2025-10-24 # From `date +%Y-%m-%d`
author: Name <email@example.com>
title: Short Descriptive Title
tags: [tag1, tag2] # Optional but recommended
tags: [tag1, tag2] # Optional but recommended
---
```

Expand Down
49 changes: 0 additions & 49 deletions docs/INSTALL.md

This file was deleted.

10 changes: 10 additions & 0 deletions eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import js from "@eslint/js";
import tseslint from "typescript-eslint";

export default tseslint.config(
{
ignores: ["dist/**", "node_modules/**"],
},
js.configs.recommended,
...tseslint.configs.recommended,
);
Loading