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 Alt Stack +

-Welcome to the public repository for **The Alt Stack** context and data! +

The Alt Stack

-This repository contains: -1. **The Alt Stack Dataset** (`/data`): Our curated JSON data of open source alternatives to popular SaaS products. -2. **The Documentation Site** (`/docs`): The source code for [docs.thealtstack.com](https://docs.thealtstack.com) containing 60+ deployment guides, concepts, and more. +

+ 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 +

+ +

+ License + Tools + Categories + Guides +

+ +--- + +## 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 +