# obsidianmd/obsidian-help: Documentation Source and Translation Workflow

> obsidianmd/obsidian-help is the source repository for Obsidian Help and its localized documentation vaults. It is intended for documentation contributors, translators, and maintainers who need to follow a permalink-based translation workflow.

**obsidianmd/obsidian-help** — Help documentation for Obsidian.

- Repository: https://github.com/obsidianmd/obsidian-help
- Website: https://obsidian.md/help
- Stars: 1,962 · Forks: 542
- Language: JavaScript
- License: not declared
- Published: 2026-10-16 · Updated: 2026-10-16 · Language: en
- Canonical page: https://hysenlabs.com/projects/obsidianmd-obsidian-help

## What obsidian-help contains

obsidian-help contains the source for the Obsidian Help documentation and translations for each supported language. The repository is not the Obsidian application itself. It is a collection of standalone Obsidian vaults, one for each locale, plus scripts used to propagate English changes and create initial translations.

The target audience is specific. Users looking for an explanation of an Obsidian feature should normally read the published Help site. Contributors who want to correct wording, repair a page, add missing documentation, or improve a translation work in this repository. The README also says that bug reports and feature requests for Obsidian should not be opened here. Those issues are closed and redirected to the forum, so this repository has a documentation scope rather than a general product feedback scope.

The repository includes language directories such as `en`, `fr`, `zh`, `pt-br`, and many others. The published sites are available under separate locale paths. This structure makes the project useful when a contributor needs to work on wording in one language while preserving the relationship between that page and its English counterpart.

## The English-first permalink architecture

The README identifies the English locale as the source of truth. Additions and removals should therefore begin in the `en` locale, and the changes are then applied automatically to other locales using the repository scripts.

The central data relationship is the `permalink`. Every page is expected to use the same `permalink` value across locales. The README gives the example `obsidian.md/help/resources` for English and the corresponding French URL, `obsidian.md/fr/help/resources`. The permalink acts as a shared identifier and path, allowing a reader or automation to associate the same content across language versions.

There is also a 1:1 page requirement. English pages should exist in every other locale so that the shared permalinks continue to work. The README prefers untranslated English content at a locale URL over a broken URL. That is a meaningful editorial decision. It favors complete navigation and stable links over forcing every translation to be finished before a locale is considered structurally current.

The translation scripts use diffs to classify changes. The README says they can handle deterministic removals, smaller edits such as adding a bullet to an existing list, and changes that require an entirely new page translation. This implies a distinction between mechanical propagation and work that still needs translation review.

## How contributors work inside an Obsidian vault

The documented contribution workflow treats each language directory as a standalone vault. A contributor forks the repository, opens the appropriate language subfolder as an Obsidian vault, and edits the documentation there. The README specifically warns against opening the repository root as a vault because doing so may cause links to be updated incorrectly.

For example, a contributor working on English selects the `en/` directory rather than the repository root. A French contributor would select the French directory. Opening the selected folder matters because Obsidian resolves vault-relative links within that vault. If the root is opened instead, the repository layout introduces paths and link relationships that are not the intended editing context for one locale.

The repository includes scripts in the `scripts/` directory. The README does not provide a command line installation procedure or a documented command for running those scripts, so it would be inaccurate to invent a command. It does document that the scripts are used when bootstrapping a new translation, copying the English content into the new locale, creating an initial automatic translation, and applying English changes to other locales.

The contribution types are narrower than general application development. Contributors can improve native tone in automatic translations, fix typos, or add missing or outdated content. The README asks contributors to submit an issue before starting work on missing or outdated content. That creates an editorial check for substantial additions before a contributor changes the documentation.

## Publishing and branch constraints

Publishing is described as automatic for commits to the `main` branch. The repository metadata identifies `master` as the default branch, while the README's workflow section refers to `main`. This discrepancy is important for anyone preparing a contribution. A contributor should confirm the branch used by the publishing setup before merging or opening a pull request, because the README does not explain how the two branch names relate.

The documentation also has separate source-of-truth rules for application text. For Obsidian app text such as buttons and features, the README names `obsidian-translations` as the source of truth for all locales. This repository should not be treated as the place to define every interface label independently. The distinction separates product UI wording from Help documentation wording.

For people who want to be listed on the Credits page, the README directs them to edit `en/Obsidian/Credits.md` and the corresponding translation. That is a documentation contribution with a repository-defined location, not an application configuration change.

## Limitations and maintenance implications

The first limitation is scope. The README explicitly excludes Obsidian bug reports and feature requests. If a user needs to diagnose an application defect, propose a new feature, or discuss product behavior, this repository is the wrong destination. The documented redirect is to the forum.

The second limitation is translation quality. Automatic propagation can create pages or edits that require human review. The README specifically asks contributors to refine automatic translations for natural tone while retaining the English meaning. The 1:1 page rule also means that structural completeness and translation quality are different concerns. A locale URL can exist with English text while still needing later linguistic refinement.

No license is identified in the README or repository metadata. Without a confirmed license, contributors cannot infer from this repository alone what permissions apply to reuse, redistribution, or derivative documentation. That is a repository metadata issue, not a claim that a particular license does or does not exist elsewhere.

The repository is not archived, and its last push was on 2026-10-11. No GitHub releases are listed. The README documents an automatic publishing and synchronization process, but it does not provide a formal upgrade procedure, release history, or compatibility policy. Maintenance therefore appears tied to documentation commits and translation scripts rather than versioned releases.

## A practical comparison with the Obsidian application repository

obsidian-help should be compared with a separate project only by the work each repository is intended to receive. This repository stores Help pages and localized vaults, so its contribution model is based on English-first edits, permalink consistency, diff-based translation propagation, and human language refinement.

The Obsidian application itself would be the relevant place for code-level behavior, application defects, or feature implementation, but the README does not describe that repository. It would therefore be unsafe to claim which programming languages, build commands, test suites, or release processes it uses. The practical distinction here is architectural: obsidian-help is a set of documentation vaults and publishing scripts, not an executable distribution of the editor.

For an engineer deciding whether to contribute, this means checking the requested change before editing. A correction to a Help page or translation belongs here. A request to alter Obsidian's behavior does not. The README also makes clear that the documentation source has strict cross-locale page parity, which is a different concern from application compatibility.

## Conclusion

Adopt this repository if you need to correct, extend, or translate Obsidian Help pages. Do not use it as the place to report application bugs or request new Obsidian features, because the README directs those topics to the forum. Before contributing, verify the target language directory, the shared permalink, and the current branch workflow, since the README describes contributions around main while the repository metadata identifies master as the default branch.

## FAQ

### What is obsidianmd/obsidian-help used for?

It contains the source for the Obsidian Help documentation and translations for supported languages. Each language is organized as a standalone Obsidian vault with a corresponding published site.

### Where should I report an Obsidian bug or request a feature?

Do not open those issues in obsidianmd/obsidian-help. The README says they will be closed and redirects them to the Obsidian forum.

### How do I contribute a translation change?

Fork the repository and open the subfolder for the language you want to edit as an Obsidian vault. The README warns against opening the repository root as a vault because links may be updated incorrectly.

### Which locale should be edited first?

The English `en` locale is the source of truth. Additions and removals should be made there first, after which changes are applied automatically to other locales using the repository scripts.

### What does the shared permalink do?

The `permalink` identifies the same page across locales. The README says every page uses the same value across languages so that cross-locale paths remain associated with the same content.

## Sources

- [Issues](https://github.com/obsidianmd/obsidian-help/issues)
- [obsidianmd/obsidian-help on GitHub](https://github.com/obsidianmd/obsidian-help)
- [Project website](https://obsidian.md/help)
- [README](https://github.com/obsidianmd/obsidian-help/blob/master/README.md)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/obsidianmd-obsidian-help
