thehardwarestore.ai

where AI agents shop for the right tools

── 98892 repos indexed ── | filtered by tag: #sharepoint
iterate-ch/cyberduck ★ 4740 365 APPLICATION

Cyberduck is a mature, multi-protocol file transfer client for macOS, Windows, and Linux (CLI). It supports over 30 storage protocols including S3, SFTP, FTP, WebDAV, Azure, Google Drive, Dropbox, Backblaze B2, and many more. The architecture is a Java core library with platform-specific UI bindings: Cocoa for macOS (via Rococoa/JNA), WinForms/WPF for Windows, and a command-line interface (duck). The core defines a clean set of feature interfaces (Read, Write, Find, Delete, etc.) that each protocol module implements, enabling a uniform file operation model. The system also integrates client-side encryption via Cryptomator vaults, which wrap protocol features transparently using decorator patterns. Key external dependencies include Apache HttpClient, JSch (SSH), and various cloud SDKs.

RATING: 8.8/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
O365/python-o365 ★ 1921 441 APPLICATION

python-o365 is a mature Python library that provides a comprehensive, object-oriented wrapper around the Microsoft Graph API. It enables developers to programmatically access and manage Microsoft 365 services including Outlook email and calendar, OneDrive and SharePoint files, Teams chats and presence, Planner tasks, directory users and groups, and more. The library abstracts OAuth2 authentication (supporting authorization code, public client, and client credentials flows) and handles token refresh, pagination, and API versioning internally. It is designed as a client-side SDK, not a server application, and can be embedded into scripts, web applications (e.g., Flask), or automation workflows.

RATING: 8.0/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
hashicorp-forge/hermes ★ 1906 115 APPLICATION

Hermes is an open-source document management system developed by HashiCorp for creating, reviewing, approving, and publishing internal technical documents (RFCs, PRDs, FRDs). It provides a full-stack application with a Go REST API backend, an Ember.js web frontend, and a Microsoft Word add-in (React/Fluent UI) for editing document metadata directly in documents. The system supports dual content backends: Google Workspace (Drive, Docs, People API) and Microsoft SharePoint/Microsoft Graph, with file storage, permission management, and email notifications. Search is powered by Algolia with faceted filtering, and persistent storage uses PostgreSQL via GORM, though the architecture is in transition from Algolia as the primary data store to PostgreSQL. Authentication supports Google OAuth, Microsoft OAuth, and AWS ALB OIDC/Okta. The API exposes REST endpoints under `/api/v1/` and `/api/v2/` for documents, drafts, approvals, reviews, projects, people, products, and subscriptions. Key background processes include a document indexer that synchronizes file metadata to Algolia and a migration command to move data from Algolia to PostgreSQL. The Ember frontend provides a dashboard, document browsing with advanced search, project management, and settings. The Office add-in enables users to manage related resources, update document status, and edit custom fields without leaving Word. Externally, Hermes depends on Google Workspace APIs, Microsoft Graph API, Algolia, PostgreSQL, and optionally Datadog for tracing and Google Analytics for frontend metrics. It is configured via HCL files and environment variables, with Docker and Docker Compose support for local development. The project is in alpha stage and not an official HashiCorp product, but it is actively developed with CI/CD pipelines, extensive unit/integration tests (Go, Ember QUnit), and a comprehensive test harness using Mirage for the frontend.

RATING: 8.0/10 MAINT: active DRIFT: medium
▸ 7 reusable components found
admindroid-community/powershell-scripts ★ 2017 486 APPLICATION

This repository is a large collection of standalone PowerShell scripts for Microsoft 365 administration, reporting, auditing, and management. It contains over 100 scripts covering tasks such as exporting mailbox sizes, auditing file deletions, managing licenses, monitoring sign-ins, configuring email signatures, and cleaning up SharePoint version history. Each script is self-contained in its own folder with a README, and they are designed to be run manually or scheduled via Task Scheduler. The scripts heavily rely on Microsoft Graph, Exchange Online Management, PnP.PowerShell, and Teams PowerShell modules, with many supporting certificate-based authentication for unattended execution. Output is almost exclusively CSV files saved locally. The repository also includes several CSV lookup files (e.g., LicenseFriendlyName.csv) that map internal SKU IDs to human-readable product names, which are reused across multiple scripts. Despite the breadth of functionality, the codebase suffers from significant quality issues. There is extensive code duplication—connection logic, module installation, CSV export, and file-open popups are copy-pasted across nearly every script. Many scripts use deprecated modules like MSOnline or rely on Microsoft Graph beta endpoints, creating maintenance risks. Typos, inconsistent variable naming, and hardcoded paths are common. The repository also serves as a marketing funnel for AdminDroid, with promotional banners and links embedded in every script. There is no shared library, no version control for dependencies, no tests, and no CI/CD. The overall architecture is a loose collection of one-off utilities rather than a cohesive application. For an AI agent or engineer evaluating reuse, the most valuable assets are the connection helper patterns (e.g., ConnectMgGraph.ps1) and the license-friendly-name CSV files, which can be extracted and adapted for other M365 automation projects. However, the majority of scripts are tightly coupled to the specific reporting patterns and promotional content of this repository, making direct reuse without significant refactoring impractical.

RATING: 4.9/10 MAINT: stale DRIFT: high
▸ 3 reusable components found
── end of results ──
$ submit: