diff --git a/README.md b/README.md index 488a4b2..128e04e 100644 --- a/README.md +++ b/README.md @@ -1,39 +1,138 @@ -# The Alt Stack Data & Docs π₯ +
+
+
+ The open-source directory of alternatives to every popular SaaS tool. +
-If you are looking for the main application (the UI, comparison engine, etc.), please note that the core application is closed-source. We open-source the data and documentation so the community can contribute to keeping the alternative software ecosystem accurate and well-documented. ++ π Website Β· π Docs Β· β Submit a Tool +
+ + + +--- + +## What is The Alt Stack? + +**The Alt Stack** is a curated, community-driven directory that helps developers and teams discover open-source and self-hosted alternatives to popular SaaS products β across **28 categories** including Project Management, Analytics, CRM, AI, DevOps, Communication, and more. + +This repository is the heart of the project. It contains: + +- ποΈ **The Dataset** β 459+ tools with metadata, pricing, pros/cons, deployment info, and links. +- π **66+ Deployment Guides** β Step-by-step self-hosting guides for tools like Plausible, Gitea, Rocket.Chat, and more. +- π **Concepts & Docs** β Guides on topics like server setup, monitoring, backups, and secrets management. + +--- + +## π Repository Structure + +``` +altstack-data/ +βββ data/ +β βββ tools.json # The core dataset (459+ tools) +β βββ tools-min.json # Minified version +β βββ category_editorial.json # Category descriptions & metadata +β βββ stacks.ts # Curated stack combinations +β βββ seo.ts # SEO metadata +β βββ schema/ +β βββ types.ts # TypeScript schema for the data +β +βββ docs/ # Full documentation site (Nextra) +β βββ app/ +β βββ deploy/ # 66+ deployment guides +β βββ concepts/ # Self-hosting concepts +β βββ quick-start/ # Getting started guides +β βββ stacks/ # Curated stack guides +β +βββ assets/ +β βββ logos/ # Tool logos +β +βββ .github/ + βββ ISSUE_TEMPLATE/ # Templates for submissions + βββ workflows/ # CI: JSON validation, docs build +``` + +--- + +## π Using the Data + +The dataset is just JSON. Use it however you want. + +**Fetch it directly:** +```bash +curl -s https://raw.githubusercontent.com/altstackHQ/altstack-data/main/data/tools.json | jq '.[0]' +``` + +**Use it in JavaScript/TypeScript:** +```typescript +import tools from './data/tools.json'; +import type { Tool } from './data/schema/types'; + +const analytics = tools.filter(t => t.category === 'Analytics'); +console.log(`Found ${analytics.length} analytics tools`); +``` + +**Use it in Python:** +```python +import json + +with open('data/tools.json') as f: + tools = json.load(f) + +open_source = [t for t in tools if t.get('is_open_source')] +print(f"{len(open_source)} open source tools available") +``` + +--- ## π€ Contributing -We welcome community contributions! This is the fastest way to get a new tool added or a deployment guide updated. +We love contributions! Whether it's adding a tool you discovered, fixing a broken link, or writing a deployment guide β every contribution makes the ecosystem better. -Before submitting a pull request, please read our [Contributing Guidelines](CONTRIBUTING.md). +**Quick links:** +- [β Add a new tool](https://github.com/altstackHQ/altstack-data/issues/new?template=add-tool.yml) +- [π Report a data error](https://github.com/altstackHQ/altstack-data/issues/new?template=fix-data.yml) +- [π Propose a new guide](https://github.com/altstackHQ/altstack-data/issues/new?template=add-guide.yml) -### What you can contribute: -- **New Tools:** Submit an addition to `data/tools.json`. -- **Data Corrections:** Fix broken links, update pricing, or correct pros/cons. -- **Deployment Guides:** Write or update a self-hosting guide in `docs/app/deploy/`. -- **Typo Fixes:** Help us keep the documentation clean. +Read the full **[Contributing Guidelines](CONTRIBUTING.md)** before submitting a PR. -### What NOT to contribute here: -- Feature requests for the main application UI. -- Bug reports for the closed-source platform (use the contact form on the main site). +--- -## ποΈ Working with the Data +## π Categories -Our core dataset lives in `data/tools.json` and follows the TypeScript schema defined in `data/schema/types.ts`. +| Category | Category | Category | Category | +|---|---|---|---| +| π¬ Communication | π Analytics | π Project Management | π€ AI Interfaces | +| π§ AI Models | π» AI Coding | π¨ Creative | π CMS | +| π§ Email | βοΈ Cloud Hosting | ποΈ Databases | π Security | +| π File Storage | π° CRM | π E-commerce | π« Support | +| βοΈ Legal | ποΈ ERP | π DevOps | πΊ Media | -If you're building a project that references our data, you are welcome to consume it directly from this repository! +*β¦and more. Explore the full list at [thealtstack.com](https://thealtstack.com).* + +--- ## π License -This repository uses a dual-license model: -* **Documentation & Data** (`/docs/**/*.mdx`, `/data/**/*.json`): Creative Commons Attribution 4.0 International ([CC BY 4.0](https://creativecommons.org/licenses/by/4.0/)) -* **Scripts & Code** (`/scripts`, `.ts`/`.js` files): [Apache License 2.0](LICENSE) +| What | License | +|---|---| +| Code & Scripts | [Apache License 2.0](LICENSE) | +| Data (`/data`) | [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) | +| Documentation (`/docs`) | [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) | -*All tool logos in `assets/logos/` are the property of their respective trademark holders and are used for identification purposes only.* +All tool logos in `assets/logos/` are the property of their respective trademark holders and are used for identification purposes only. + +--- + ++ Built with β€οΈ by the Alt Stack team +