Add website requirements, agent instructions and run steps
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
2db9399c85
commit
03f226d019
10
AGENTS.md
Normal file
10
AGENTS.md
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
# Instructions for AI coding agents (Antigravity, Claude Code, Codex, etc.)
|
||||||
|
|
||||||
|
This repo is the **quorlasocial.com** marketing site, built with Astro 7.
|
||||||
|
|
||||||
|
1. Read `REQUIREMENTS.md` (what to build and the hard rules) and `README.md` (how to run and deploy) first.
|
||||||
|
2. Never break `/`, `/privacy` or `/terms`. Google and TikTok reviews depend on them.
|
||||||
|
3. No fake testimonials, logos, numbers or claims. Use clearly marked placeholders.
|
||||||
|
4. Run `npm run build` before you say a change is done, and fix any errors.
|
||||||
|
5. Don't deploy. A person deploys with the steps in `README.md`.
|
||||||
|
6. Keep commits small with clear messages. Don't commit `node_modules/`, `dist/` or secrets.
|
||||||
21
README.md
21
README.md
@ -3,15 +3,28 @@
|
|||||||
Marketing site for Quorla. The app itself lives in the separate repo `claude_Metatron_Social_Media_Manager`
|
Marketing site for Quorla. The app itself lives in the separate repo `claude_Metatron_Social_Media_Manager`
|
||||||
(served at app.quorlasocial.com). Built with [Astro](https://astro.build): pages compile to plain static HTML.
|
(served at app.quorlasocial.com). Built with [Astro](https://astro.build): pages compile to plain static HTML.
|
||||||
|
|
||||||
|
What to build and the rules: **[REQUIREMENTS.md](REQUIREMENTS.md)**. AI agents also read [AGENTS.md](AGENTS.md).
|
||||||
|
|
||||||
## Work on it
|
## Work on it
|
||||||
|
|
||||||
Needs Node 22.23.4 or newer (Astro 7). If your Node is older, upgrade it, or build with Docker as on the server.
|
### One-time setup (your PC)
|
||||||
|
1. Install **Node.js 22.23.4 or newer** (LTS from nodejs.org). Check with `node -v`.
|
||||||
|
2. Clone and install:
|
||||||
```bash
|
```bash
|
||||||
|
git clone https://git.metatroncube.in/MetatroncubeSoftwareSolutions/quorla-website.git
|
||||||
|
cd quorla-website
|
||||||
npm install
|
npm install
|
||||||
npm run dev # http://localhost:4321
|
|
||||||
npm run build # writes the site to dist/
|
|
||||||
```
|
```
|
||||||
|
On this PC the folder already exists: `D:\MCS_Repos\2026\Quorla_Website`. Open that folder in Antigravity.
|
||||||
|
|
||||||
|
### Every time
|
||||||
|
```bash
|
||||||
|
git pull # get the latest
|
||||||
|
npm run dev # live preview at http://localhost:4321 (reloads as you edit)
|
||||||
|
npm run build # check the production build before committing
|
||||||
|
git add -A && git commit -m "What changed" && git push
|
||||||
|
```
|
||||||
|
Then deploy (below). If Node is older on a machine, build with Docker instead (same command as the server).
|
||||||
|
|
||||||
| What | Where |
|
| What | Where |
|
||||||
|---|---|
|
|---|---|
|
||||||
|
|||||||
101
REQUIREMENTS.md
Normal file
101
REQUIREMENTS.md
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
# Quorla website: requirements
|
||||||
|
|
||||||
|
What to build for **quorlasocial.com**, the public marketing site for Quorla. Read this file and `README.md`
|
||||||
|
before changing anything.
|
||||||
|
|
||||||
|
## 1. The product (what the site must explain)
|
||||||
|
|
||||||
|
Quorla is a social media management tool for **marketing agencies** that run many client accounts. A team uploads
|
||||||
|
finished posts per client, plans the week, an admin **approves the exact post**, and Quorla publishes it on the right
|
||||||
|
platform at the **client's local time**, then reports what worked.
|
||||||
|
|
||||||
|
- **Made by:** Metatroncube Software Solutions, Waterloo, Ontario, Canada.
|
||||||
|
- **App:** https://app.quorlasocial.com (sign-in only; this site links to it, it is a separate codebase).
|
||||||
|
- **Contact:** support@quorlasocial.com.
|
||||||
|
- **Plans:** hosted (we run it) and self-hosted (agency runs it on its own server). Prices are **not decided yet**.
|
||||||
|
- **Access:** by invitation for now. The main call to action is "Request access" (email or contact form).
|
||||||
|
|
||||||
|
### What the product does today (OK to describe as available)
|
||||||
|
- Content library per client: designers and editors upload finished work; only approved items can be scheduled.
|
||||||
|
- Drafts → admin approval → publishing at the scheduled time, in the client's time zone. Nothing posts without approval.
|
||||||
|
- Platforms connected: Instagram, Facebook, YouTube, Google Business Profile, TikTok.
|
||||||
|
- Comments and DMs inbox (Instagram/Facebook) with replies drafted for a person to approve.
|
||||||
|
- AI-assisted monthly account audits, weekly content plans and weekly reports, exported as PDFs with the agency's branding.
|
||||||
|
- Team roles (admin, manager, designer, editor); admins add teammates and reset passwords.
|
||||||
|
- Respects each platform's limits (quotas) and waits instead of failing.
|
||||||
|
|
||||||
|
### Being added (say "coming soon" or leave out; never present as available)
|
||||||
|
- LinkedIn, Pinterest, Threads and Reddit publishing (built, waiting for platform approvals).
|
||||||
|
- Published-posts page with per-post results, a visual content calendar, competitor tracking, client approval links.
|
||||||
|
|
||||||
|
## 2. Hard rules
|
||||||
|
|
||||||
|
1. **Keep these URLs working at all times.** Google's OAuth verification and TikTok's app review point at them:
|
||||||
|
- `/` must explain what Quorla does and link to the Privacy Policy.
|
||||||
|
- `/privacy` and `/terms`. Change wording only on purpose and keep them in sync with the app copies in the app
|
||||||
|
repo (`dashboard/server/legal/privacy.html`, `terms.html`), update the "Effective" date when the text changes.
|
||||||
|
2. **No made-up proof.** No fake testimonials, client logos, reviews, user counts, star ratings or results. Leave a
|
||||||
|
clearly marked placeholder until real ones exist.
|
||||||
|
3. **No claims we can't back up** ("#1", "AI that grows your followers 10×", guaranteed results).
|
||||||
|
4. **Don't name or show real client accounts** (white-label: clients must not be linked to the agency publicly).
|
||||||
|
Use invented example businesses (like "Green Corner Café").
|
||||||
|
5. **No platform logos in a way that suggests partnership** (no "official partner" badges). Plain text names are fine.
|
||||||
|
6. Never put secrets, API keys or passwords in this repo.
|
||||||
|
|
||||||
|
## 3. Brand and writing
|
||||||
|
|
||||||
|
- Colours: navy `#242142` (text, primary buttons), coral `#FC6D45` (accents, highlights; don't use coral for body text
|
||||||
|
on white, the contrast is too low). Light lavender `#F6F5FB` for alternate sections.
|
||||||
|
- Fonts: Plus Jakarta Sans (headings, 700/800), Inter (body). Already loaded in `src/layouts/Base.astro`.
|
||||||
|
- Logos in `public/assets/` (`logo.png` for light backgrounds, `logo-white.png` for dark).
|
||||||
|
- Voice: like a sharp agency owner talking to another one. Short, specific, plain English. Lead with the outcome.
|
||||||
|
- Avoid: "Elevate", "Unlock", "Revolutionize", "Seamless", "In today's fast-paced world", emoji walls, buzzword lists.
|
||||||
|
|
||||||
|
## 4. Pages
|
||||||
|
|
||||||
|
| URL | Purpose | Main content |
|
||||||
|
|---|---|---|
|
||||||
|
| `/` | Explain Quorla in 10 seconds, get access requests | Hero, how it works (connect → plan → approve → publish & report), feature highlights, platforms, approval/safety, CTA. **Exists.** |
|
||||||
|
| `/features` | Detail for evaluators | One section per feature from §1 with a screenshot or illustration each |
|
||||||
|
| `/platforms` | What each platform supports | Table: platform, post types, notes (e.g. TikTok: Direct Post after review, "finish in TikTok app" meanwhile) |
|
||||||
|
| `/agencies` | Why agencies pick Quorla | Many clients in one place, approvals, client time zones, team roles, white-label reports |
|
||||||
|
| `/pricing` | Hosted vs self-hosted | Two plan cards with "Contact us" until prices are set; FAQ (data ownership, setup, which platforms) |
|
||||||
|
| `/security` | Trust page for buyers and reviewers | Approval before publishing, encrypted tokens, platform sign-in (no passwords), data deletion, self-hosted option. State the hosting location only after confirming it |
|
||||||
|
| `/contact` | Request access / book a demo | Simple form (name, agency, email, number of clients, message) + email link. See §6 for how the form sends. |
|
||||||
|
| `/blog` + `/blog/[slug]` | SEO and updates | Markdown posts in `src/content/blog/` using Astro content collections |
|
||||||
|
| `/privacy`, `/terms` | Legal | **Exist.** See rule 1 |
|
||||||
|
| `/404` | Not found | Friendly page with links home and to the app |
|
||||||
|
|
||||||
|
Navigation: Features · Platforms · Pricing · Blog · Sign in (button to the app) · Request access (primary button).
|
||||||
|
Footer: product links, legal links, contact email, © Metatroncube Software Solutions.
|
||||||
|
|
||||||
|
## 5. Technical requirements
|
||||||
|
|
||||||
|
- **Stack:** Astro 7 static site (`output: "static"`). Plain CSS in `src/styles/global.css` (keep the existing tokens);
|
||||||
|
add component CSS in `.astro` files with scoped `<style>`. No heavy UI framework unless a page truly needs it.
|
||||||
|
- **Components:** move repeated pieces into `src/components/` (Header, Footer, CTA band, FeatureCard, PlanCard).
|
||||||
|
- **Responsive:** works from 360 px phones to wide desktops; no horizontal scroll; tap targets ≥ 44 px.
|
||||||
|
- **Accessibility:** semantic headings in order, alt text on every image, visible focus states, colour contrast AA,
|
||||||
|
forms with labels and error messages.
|
||||||
|
- **Performance:** Lighthouse ≥ 90 on Performance, Accessibility, Best Practices and SEO. Images in WebP/AVIF via
|
||||||
|
Astro's `<Image>`, lazy-loaded below the fold. No external scripts except Google Fonts (and analytics if added).
|
||||||
|
- **SEO:** unique `<title>` and meta description per page (pass them to `Base.astro`), canonical URLs (already in
|
||||||
|
`Base.astro`), Open Graph image, `sitemap.xml` (`@astrojs/sitemap`), `robots.txt`, clean URLs.
|
||||||
|
- **Analytics (optional):** privacy-friendly only (e.g. Plausible or Umami). Update `/privacy` if added.
|
||||||
|
- **No cookies banner needed** as long as there are no tracking cookies.
|
||||||
|
|
||||||
|
## 6. Contact form
|
||||||
|
|
||||||
|
The site is static, so the form needs somewhere to send. Pick one and note it in the README:
|
||||||
|
1. A form service (Formspree, Web3Forms, Basin) posting to support@quorlasocial.com. Simplest. Or
|
||||||
|
2. A small endpoint in the Quorla app later.
|
||||||
|
Until then, the "Request access" buttons stay as `mailto:support@quorlasocial.com?subject=Quorla%20access`.
|
||||||
|
Add a honeypot field against spam. Don't collect anything beyond what's in §4.
|
||||||
|
|
||||||
|
## 7. Done means
|
||||||
|
|
||||||
|
- `npm run build` passes with no errors and `npm audit` shows no high/critical issues.
|
||||||
|
- Every page in §4 exists, is linked from the nav or footer, and passes the rules in §2.
|
||||||
|
- Checked at 375 px, 768 px and 1440 px wide, in light conditions (the site has no dark mode; that's fine).
|
||||||
|
- Lighthouse targets from §5 met on `/` and one inner page.
|
||||||
|
- Deployed with the steps in `README.md`, and `/`, `/privacy`, `/terms` checked live afterwards.
|
||||||
Loading…
x
Reference in New Issue
Block a user