{
  // Foam Configuration
  "foam.openDailyNote.directory": "docs/daily",
  "foam.openDailyNote.filenameFormat": "'daily-'yyyy-MM-dd",
  "foam.files.ignore": [
    "**/node_modules/**",
    "**/code/**/*.js",
    "**/code/**/*.py",
    "**/code/**/*.ts"
  ],

  // Markdown Configuration
  "markdown.extension.toc.levels": "2..6",
  "markdown.extension.completion.root": "./docs",
  "markdown.extension.preview.autoShowPreviewToSide": true,

  // Markdown Notes Configuration
  "vscodeMarkdownNotes.noteCompletionConvention": "[[wiki-link]]",
  "vscodeMarkdownNotes.slugifyMethod": "github-slug",
  "vscodeMarkdownNotes.workspaceFilenameConvention": "uniqueFilenames",

  // Todo Tree Configuration
  "todo-tree.general.tags": [
    "TODO",
    "FIXME",
    "NOTE",
    "IDEA",
    "HACK",
    "QUESTION"
  ],
  "todo-tree.highlights.defaultHighlight": {
    "icon": "check",
    "type": "text",
    "foreground": "white",
    "background": "green",
    "opacity": 50
  },
  "todo-tree.regex.regex": "(//|#|<!--|;|/\\*|^|^[ \\t]*(-|\\d+.))\\s*($TAGS)",

  // Code Runner Configuration
  "code-runner.clearPreviousOutput": true,
  "code-runner.showExecutionMessage": true,
  "code-runner.saveFileBeforeRun": true,
  "code-runner.runInTerminal": true,
  "code-runner.executorMap": {
    "javascript": "node",
    "python": "python3",
    "typescript": "ts-node"
  },

  // File Associations
  "files.associations": {
    "*.md": "markdown"
  },

  // Search Configuration
  "search.exclude": {
    "**/node_modules": true,
    "**/bower_components": true,
    "**/*.code-search": true,
    "**/docs/assets/**": true
  },

  // Auto Save
  "files.autoSave": "afterDelay",
  "files.autoSaveDelay": 1000,

  // Editor Configuration for Markdown
  "[markdown]": {
    "editor.wordWrap": "on",
    "editor.quickSuggestions": {
      "comments": "on",
      "strings": "on",
      "other": "on"
    },
    "editor.snippetSuggestions": "top",
    "editor.formatOnSave": true
  },

  // Bookmarks Configuration
  "bookmarks.saveBookmarksInProject": true,
  "bookmarks.navigateThroughAllFiles": true,

  // GitDoc Configuration - Auto-commit on save
  "gitdoc.enabled": true,
  "gitdoc.autoCommitDelay": 1000,
  "gitdoc.commitMessageFormat": "docs: ${message}",
  "gitdoc.commitValidationLevel": "none",
  "gitdoc.autoPush": "afterCommit",
  "gitdoc.pullOnOpen": true,

  // ESLint Configuration
  "eslint.validate": [
    "javascript",
    "javascriptreact",
    "typescript",
    "typescriptreact"
  ]
}
