The official content repository for Sentilis — documentation, templates, and examples for Press, Market, and Bio.
Write in Markdown. Push to main. Your content goes live on Sentilis automatically.
| Folder | What it holds |
|---|---|
📰 en/press/ · es/press/ |
Press — blog posts, press releases, changelogs, and product docs. |
🛒 en/market/ · es/market/ |
Market — service listings, physical products, and digital downloads. |
💼 en/bio/ · es/bio/ |
Bio — professional profiles for people and companies. |
🧩 en/templates/ |
Templates — copy-paste starters for every content type. |
Pick what you want to publish, drop a Markdown file in the right folder, push to main:
| You want to… | Create a file in… | Read the guide |
|---|---|---|
| Share a blog post or announcement | en/press/my-post.md |
Press guide |
| List a service, product, or download | en/market/my-thing.md |
Market guide |
| Publish your resume or company profile | en/bio/my-profile.md |
Bio guide |
The GitHub Actions workflow detects what changed, authenticates with your profile token, and syncs everything to Sentilis. 🎉
- 💼 Bio: Software Developer, US Startup
- 🛒 Market: Service, Physical Product, Digital Download
- 📰 Press: Press Release, Blog Post, Changelog
Publishing is wired up via .github/workflows/sentilis-sync.yml. Two parallel jobs run on every push to main:
| Job | Profile | Folder synced | Required secret |
|---|---|---|---|
sync-en |
English (Profile 1) | ./en |
SENTILIS_TOKEN_EN |
sync-es |
Spanish (Profile 2) | ./es |
SENTILIS_TOKEN_ES |
- Go to Settings → Secrets and variables → Actions → New repository secret.
- Create
SENTILIS_TOKEN_ENwith your English profile token. - Create
SENTILIS_TOKEN_ESwith your Spanish profile token.
🔒 Tokens are never logged. The workflow uses
secrets.*substitution so GitHub redacts them automatically.
pushtomain— publishes changes inen/**ores/**.pull_requesttomain— runs a dry validation (catches broken frontmatter early).workflow_dispatch— manual re-sync from the Actions tab.
Want to validate before pushing? Install the CLI locally:
npm install -g @sentilis/cli
# Authenticate once
sentilis auth login <your-token>
# Sync a profile directory
sentilis sync ./en --strict
sentilis sync ./es --strictThe --strict flag treats warnings as errors — great for catching typos in frontmatter, broken local links, or missing attachments before they hit production.
sentilis.content/
├── en/ # English profile
│ ├── bio/ # Bio entries
│ ├── market/ # Market entries
│ ├── press/ # Press entries (incl. docs)
│ │ ├── bio/ # → Bio user guide
│ │ ├── market/ # → Market user guide
│ │ └── press/ # → Press user guide
│ └── templates/ # Copy-paste templates
├── es/ # Spanish profile (same layout)
├── .github/workflows/
│ └── sentilis-sync.yml # GitHub Actions publisher
├── LICENSE # MIT
└── README.md
This repo is open source under the MIT license. Spotted a typo, want to suggest a new template, or improve a doc?
- Fork the repo.
- Create a branch (
fix/typo-in-bio-docsorfeat/template-podcast-episode). - Open a pull request against
main.
PRs that touch en/** or es/** automatically trigger a dry-run validation in CI — no surprises after merge.
- 🌐 Sentilis (EN): https://sentilis.me/en
- 🌐 Sentilis (ES): https://sentilis.me/es
- 📦 CLI: https://github.com/sentilis/cli
- 🧠 Core: https://github.com/sentilis/core
- ✍️ Obsidian plugin: https://github.com/sentilis/obsidian
MIT © 2026 Sentilis