Skip to content

Habit Tracker 21

A minimalist, elegant habit tracker that helps you build lasting habits with clear progress visualization.

The above warnings are based on limited information and might not always be accurate.

Data

IDhabit-tracker-21
Authorzincplusplus
FundingSupport the Author
Minimum Obsidian Version1.1.0
Official Release Date2023-12-18
Last update2026-02-27

Last Refresh

Obsidian Stats last refreshed the data behind this page on Oct 12, 2026.

Community plugin snapshotOct 12, 2026
Repository clonelast successful checkout Aug 19, 2026
Release acquisitionrelease metadata checked Aug 19, 2026; existing successful main.js cache reused

Quick Links

Changes

DateChanged PropertyOld ValueNew Value
2023-12-18Plugin Added
2024-01-27descriptionYour 21-day journey to habit formation simplifiedYour 21-day journey to habit formation simplified.
2025-09-13repozoreet/habit-trackerzincplusplus/habit-tracker
2025-11-11authorzoreetzincplusplus
2025-11-11descriptionYour 21-day journey to habit formation simplified.A minimalist, elegant habit tracker that helps you build lasting habits with clear progress visualization.

Repository Data

LicenseMIT in package.json
GPL-3.0 in LICENSE file
Package Managernpm
Uses TypescriptYes
Installed Bundlersesbuild
Installed Testing FrameworksNone found
Has Test FilesNo
Latest Release main.js Size163 KB
Detected ES VersionES2018
Probably MinifiedNo
main.js API Findings11 disclosures
Uses BRAT beta releasesNo
Dependenciesdate-fns, obsidian-daily-notes-interface
Dev Dependencies@tsconfig/svelte, @types/node, @typescript-eslint/eslint-plugin, @typescript-eslint/parser, builtin-modules, esbuild, esbuild-svelte, fs-extra, obsidian, svelte, svelte-preprocess, tslib, typescript

main.js API Findings

These findings come directly from Glass Lint's JavaScript and Obsidian rule catalogs applied to the latest release main.js. The confidence column is Glass Lint's definite/possible match certainty.

DisclosureRule Descriptions
Browser Storage AccessUses persistent browser storage
Full Vault AccessEnumerates vault files
Markdown ProcessingRegisters markdown code-block processors, Uses markdown link helpers
Metadata AccessReads Obsidian metadata cache, Updates frontmatter through Obsidian APIs
Network AccessConstructs or references URLs, Uses browser network request APIs
Plugin ManagementAccesses other plugins
Plugin Storage AccessReads plugin data, Writes plugin data
User Interface AccessRegisters plugin settings UI, Uses Obsidian notices
Vault AccessAccesses Obsidian vault APIs, Accesses attachment resource paths
Vault ReadReads vault files
Vault WriteUpdates frontmatter through Obsidian APIs, Writes vault files
FindingTypeConfidenceEvidence
Uses persistent browser storageInfoDefinitemember_call of "localStorage.getItem" (2), member_call of "localStorage.removeItem" (3), member_call of "localStorage.setItem" (2)
Uses browser network request APIsInfoDefinitecall of "fetch"
Constructs or references URLsInfoDefinitestring_contains of "http://", string_contains of "https://" (2)
Updates frontmatter through Obsidian APIsInfoDefinitemember_call of "app.fileManager.processFrontMatter"
Registers markdown code-block processorsInfoDefinitemember_call of "obsidian.Plugin"
Uses markdown link helpersInfoDefinitemember_call of "obsidian" (7)
Reads Obsidian metadata cacheInfoDefinitemember_call of "app.metadataCache.getFirstLinkpathDest"
Accesses other pluginsInfoDefinitemember_call of "app.plugins.getPlugin" (13)
Reads plugin dataInfoDefinitemember_call of "obsidian.Plugin"
Writes plugin dataInfoDefinitemember_call of "obsidian.Plugin"
Uses Obsidian noticesInfoDefiniteconstructor of "obsidian.Notice" (6), constructor of "Notice"
Registers plugin settings UIInfoDefinitemember_call of "obsidian.Plugin", class of "obsidian.PluginSettingTab"
Accesses Obsidian vault APIsInfoDefinitemember_read of "app.vault" (6)
Enumerates vault filesInfoDefinitemember_call of "app.vault.getAbstractFileByPath" (8), member_call of "app.vault.getAllLoadedFiles"
Reads vault filesInfoDefinitemember_call of "app.vault.cachedRead", member_call of "app.vault.read"
Accesses attachment resource pathsInfoDefinitestring_contains of "obsidian://"
Writes vault filesInfoDefinitemember_call of "app.vault.createFolder", member_call of "app.vault.create" (4)

The above data may not be accurate and contain errors. For more information refer to the page about data collection.

Lines of Code

The plugin has a total of 590 lines of code. The following chart shows the lines of code split by programming language.

Downloads

The following chart shows the total number of downloads of the plugin over time. The second chart shows the delta of downloads per week, which is the number of new downloads per week. New version releases are marked with vertical lines.

Version History

VersionRelease DateNote
1.0.02023-12-20None
1.0.12023-12-21None
1.0.22023-12-21None
1.0.32023-12-21None
1.1.02023-12-28None
1.1.12023-12-29None
1.1.22023-12-30None
1.1.32024-01-01None
1.1.42024-01-04None
1.1.52024-01-04None
1.2.02024-01-19None
1.2.12024-01-24None
1.3.02024-05-01None
1.4.02024-05-01None
1.4.12024-06-01None
1.4.22024-06-07None
1.4.32024-07-27None
1.4.42024-07-28None
1.4.52024-08-17None
2.0.02025-11-06None
2.0.12025-11-08None
2.0.22025-11-10None
2.1.02025-11-14None
2.1.12025-11-17None
2.1.22025-11-18None
2.1.32025-11-19None
2.1.42025-11-22None
2.2.02025-11-29None
2.2.12025-12-10None
2.2.22025-12-10None
2.2.32025-12-10None
2.3.02026-02-24None
2.4.02026-02-27None
2.4.12026-02-27None
2.4.22026-03-12None