return {
  "nvim-neo-tree/neo-tree.nvim",
  branch = "v3.x",
   dependencies = {
    "nvim-lua/plenary.nvim",
    "nvim-tree/nvim-web-devicons",
    "MunifTanjim/nui.nvim",
  },
  config = function()
    require('neo-tree').setup({
      filesystem = {
        filtered_items = {
          hide_dotfiles = false,
          hide_gitignored = false,
          hide_hidden = false,
        },
        commands = {
          avante_add_files = function(state)
            local node = state.tree:get_node()
            local filepath = node:get_id()
            local relative_path = require('avante.utils').relative_path(filepath)

            local sidebar = require('avante').get()

            local open = sidebar:is_open()
            -- ensure avante sidebar is open
            if not open then
              require('avante.api').ask()
              sidebar = require('avante').get()
            end

            sidebar.file_selector:add_selected_file(relative_path)

            -- remove neo tree buffer
            if not open then
              sidebar.file_selector:remove_selected_file('neo-tree filesystem [1]')
            end
          end,
        },
        window = {
          mappings = {
            ['oa'] = 'avante_add_files',
          },
        },
      }
    })

    vim.keymap.set("n", "<leader>n", "<Cmd>Neotree filesystem reveal left<CR>", {desc = "Neo Tree file system open"})
    vim.keymap.set('n', '<leader>e', "<Cmd>Neotree toggle<CR>", {desc = "Neo Tree file system toggle open/close"})
  end
  }

