getaura 0.0.0-stage → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/README.md +25 -2
  2. package/dist/index.js +24230 -0
  3. package/dist/index.js.map +1 -0
  4. package/package.json +50 -4
  5. package/templates/README.md +94 -0
  6. package/templates/configs/env-example-header.txt +6 -0
  7. package/templates/configs/eslint.config.mjs +12 -0
  8. package/templates/configs/example.test.ts +21 -0
  9. package/templates/configs/husky-pre-commit +16 -0
  10. package/templates/configs/prettierignore +18 -0
  11. package/templates/configs/prettierrc.json +3 -0
  12. package/templates/configs/security-headers.md +41 -0
  13. package/templates/configs/vitest.config.ts +19 -0
  14. package/templates/docs/index.md +55 -0
  15. package/templates/github/dependabot.yml +25 -0
  16. package/templates/github/workflows/aura-weekly.yml +55 -0
  17. package/templates/github/workflows/aura.yml +90 -0
  18. package/templates/github/workflows/ci.yml +86 -0
  19. package/templates/guides/add-aura-key-to-github.md +34 -0
  20. package/templates/guides/github-security.md +63 -0
  21. package/templates/guides/install-github-cli.md +50 -0
  22. package/templates/guides/rotate-anthropic-key.md +33 -0
  23. package/templates/guides/rotate-aws-key.md +39 -0
  24. package/templates/guides/rotate-database-key.md +39 -0
  25. package/templates/guides/rotate-generic-key.md +37 -0
  26. package/templates/guides/rotate-github-token.md +36 -0
  27. package/templates/guides/rotate-google-key.md +45 -0
  28. package/templates/guides/rotate-openai-key.md +33 -0
  29. package/templates/guides/rotate-resend-key.md +32 -0
  30. package/templates/guides/rotate-sendgrid-key.md +32 -0
  31. package/templates/guides/rotate-slack-key.md +48 -0
  32. package/templates/guides/rotate-stripe-key.md +41 -0
  33. package/templates/guides/rotate-supabase-key.md +46 -0
  34. package/templates/guides/rotate-vercel-key.md +44 -0
  35. package/templates/guides/transfer-ownership.md +55 -0
  36. package/templates/pr/add-agent-rules.md +16 -0
  37. package/templates/pr/add-aura-workflow.md +18 -0
  38. package/templates/pr/add-brief.md +17 -0
  39. package/templates/pr/add-ci.md +16 -0
  40. package/templates/pr/add-env-example.md +18 -0
  41. package/templates/pr/add-linting.md +16 -0
  42. package/templates/pr/add-pre-commit.md +16 -0
  43. package/templates/pr/add-readme.md +16 -0
  44. package/templates/pr/add-security-headers.md +16 -0
  45. package/templates/pr/enable-dependency-updates.md +16 -0
  46. package/templates/pr/fix-vulnerable-deps.md +19 -0
  47. package/templates/pr/foundation.md +19 -0
  48. package/templates/pr/install-skills.md +18 -0
  49. package/templates/pr/move-misplaced-files.md +18 -0
  50. package/templates/pr/remove-dead-files.md +18 -0
  51. package/templates/pr/setup-testing.md +19 -0
  52. package/templates/pr/token-efficiency.md +18 -0
  53. package/templates/readme/README.md +73 -0
  54. package/templates/rules/agent-rules.md +43 -0
  55. package/templates/skills/aura/SKILL.md +76 -0
  56. package/templates/skills/database-migrations/SKILL.md +92 -0
  57. package/templates/skills/docs-and-readme/SKILL.md +40 -0
  58. package/templates/skills/error-handling/SKILL.md +79 -0
  59. package/templates/skills/folder-structure/SKILL.md +51 -0
  60. package/templates/skills/pre-launch-checklist/SKILL.md +60 -0
  61. package/templates/skills/secrets-and-env/SKILL.md +52 -0
  62. package/templates/skills/secure-api-routes/SKILL.md +92 -0
  63. package/templates/skills/writing-tests/SKILL.md +77 -0
@@ -0,0 +1,55 @@
1
+ ---
2
+ title: Move accounts to company ownership
3
+ summary: Move your code, hosting, database, payments and domain into accounts the company controls, not one person's personal login.
4
+ services: [github, vercel, supabase, stripe, domain]
5
+ ---
6
+
7
+ # Move accounts to company ownership
8
+
9
+ If your app lives in one person's personal accounts, the business depends on that person's login. If they leave, lose access or get locked out, you can lose the app, the customer data or the payments. Move each account to a company-owned organization or team.
10
+
11
+ ## Before you start
12
+
13
+ 1. Create a company email address for accounts, for example `admin@yourcompany.com`, ideally a shared inbox that more than one person can read.
14
+ 2. Set up a shared password manager (1Password, Bitwarden or similar) for the company. Store every login and recovery code there.
15
+ 3. Turn on two-factor authentication everywhere, using an authenticator app or passkeys. Save recovery codes in the password manager.
16
+
17
+ ## GitHub repository → organization
18
+
19
+ 1. Create a free organization: profile picture → **Your organizations → New organization**. Add at least one other owner.
20
+ 2. In the repository, open **Settings → General**, scroll to **Danger Zone**, click **Transfer ownership**, and choose the organization.
21
+ 3. GitHub redirects the old URL. Update the remote on your machine if you like: `git remote set-url origin <new URL>`.
22
+ 4. Reconnect the repository in Vercel if deploys stop (Project → **Settings → Git**).
23
+
24
+ ## Vercel project → team
25
+
26
+ 1. Create a team in Vercel if you don't have one (account menu → **Create Team**). Team plans may cost money; check the pricing first.
27
+ 2. Open the project → **Settings → General**, scroll down to **Transfer Project**, and pick the team.
28
+ 3. Check that environment variables, domains and the Git connection came across, then redeploy.
29
+
30
+ ## Supabase project → organization
31
+
32
+ 1. Create an organization owned by the company email (https://supabase.com/dashboard → **New organization**), and invite at least one other owner.
33
+ 2. Open the project → **Project Settings → General**, find **Transfer project**, and pick the organization. The plan and billing move with it; check the target organization's plan first.
34
+
35
+ ## Stripe account owner
36
+
37
+ 1. Invite the company email: **Settings → Team and security → Team → New member**, role **Administrator**.
38
+ 2. Once they accept, the current owner opens the same page, clicks **⋯** next to the new member, and chooses **Transfer ownership** (if you don't see it, contact Stripe support).
39
+ 3. Check the bank account and business details under **Settings → Business** belong to the company.
40
+
41
+ ## Domain name
42
+
43
+ 1. Sign in to the registrar where the domain was bought (Namecheap, Cloudflare, GoDaddy, Squarespace and others).
44
+ 2. Either change the account's email and login to the company email, or use the registrar's "move" or "change account" option to move the domain into a company account.
45
+ 3. Turn on auto-renew and registrar lock, and make sure the payment card won't expire soon.
46
+
47
+ ## Record it
48
+
49
+ Run `aura inventory` and record the owner of each service, so everyone knows who controls what.
50
+
51
+ ## Check it worked
52
+
53
+ - Each service shows the company organization, team or email as owner.
54
+ - At least two people can sign in to each account (through the password manager).
55
+ - `aura inventory --json` lists an owner for every service.
@@ -0,0 +1,16 @@
1
+ ## What this does
2
+
3
+ Adds a project rules section to the file your coding agent reads at the start of every session (`CLAUDE.md` for Claude Code, `AGENTS.md` for Codex and Pi, `.cursor/rules/aura.mdc` for Cursor). It covers your stack, the commands to run, and the rules every change should follow. Aura only manages the part between its `aura:start` and `aura:end` markers; anything else in the file is left as it was.
4
+
5
+ ## Why it matters
6
+
7
+ Without rules, agents guess. With them, they write tests, check who is signed in on every route, protect every database table and keep secrets out of the code, without you having to ask each time.
8
+
9
+ ## What to check before merging
10
+
11
+ - [ ] The product summary, stack and commands are correct.
12
+ - [ ] If you already had rules in this file, they're still there.
13
+
14
+ ---
15
+
16
+ Opened by [Aura](https://github.com/JohnFazio1/aura) · {{aura_version}}
@@ -0,0 +1,18 @@
1
+ ## What this does
2
+
3
+ Adds two GitHub Actions workflows:
4
+ - `aura.yml` scans every pull request, posts the Aura score and what changed as a comment, and fails the check if the score drops more than allowed.
5
+ - `aura-weekly.yml` opens a GitHub issue every Monday with a plain-language summary of the week's changes and the score trend.
6
+
7
+ ## Why it matters
8
+
9
+ You see the effect of every change on your app's security and quality before you merge it, in plain language, even when your coding agent made the change.
10
+
11
+ ## What to check before merging
12
+
13
+ - [ ] Add your Aura pilot key as a repository secret named `AURA_PILOT_KEY` for plain-language explanations (`aura guide add-aura-key-to-github`). The workflow works without it, with shorter comments.
14
+ - [ ] The **Aura score** check on this pull request runs and posts a comment.
15
+
16
+ ---
17
+
18
+ Opened by [Aura](https://github.com/JohnFazio1/aura) · {{aura_version}}
@@ -0,0 +1,17 @@
1
+ ## What this does
2
+
3
+ Adds `.aura/brief.md`, a short description of {{product_name}}: what it does, who it's for, what it charges for and what data it handles. It was drafted from your answers during `aura init`.
4
+
5
+ ## Why it matters
6
+
7
+ Coding agents make better decisions when they know what the product is for. The brief is linked from your agent rules, so every session starts with the same understanding, and agents are told to ask you before doing work that contradicts it.
8
+
9
+ ## What to check before merging
10
+
11
+ - [ ] Read the brief. Does it describe the product accurately?
12
+ - [ ] Fix anything wrong or missing directly in this pull request (edit the file on GitHub), then merge.
13
+ - [ ] Nothing secret is in it. It's committed to the repository.
14
+
15
+ ---
16
+
17
+ Opened by [Aura](https://github.com/JohnFazio1/aura) · {{aura_version}}
@@ -0,0 +1,16 @@
1
+ ## What this does
2
+
3
+ Adds a GitHub Actions workflow (`.github/workflows/ci.yml`) that runs on every pull request and every push to `main`. It installs dependencies and runs lint, tests, the production build and type checking. Any step whose script doesn't exist yet is skipped.
4
+
5
+ ## Why it matters
6
+
7
+ Every change gets checked automatically before it's merged, so mistakes are caught in the pull request instead of by your users. Once it's running, you can require it to pass before merging (see `aura guide github-security`).
8
+
9
+ ## What to check before merging
10
+
11
+ - [ ] The **CI** check on this pull request passes. If the build fails because environment variables are missing, add them under **Settings → Secrets and variables → Actions** and map them in the build step, or ask your coding agent to.
12
+ - [ ] If an existing problem (a lint error, a failing test) makes it fail, fix that in a separate pull request or ask your coding agent to.
13
+
14
+ ---
15
+
16
+ Opened by [Aura](https://github.com/JohnFazio1/aura) · {{aura_version}}
@@ -0,0 +1,18 @@
1
+ ## What this does
2
+
3
+ Adds `.env.example`, a list of every environment variable the app uses, with a short comment for each and no real values. It also makes sure `.env.local` and other files with real values are ignored by git.
4
+
5
+ {{details}}
6
+
7
+ ## Why it matters
8
+
9
+ Anyone setting up the project (a new teammate, a new computer, a coding agent) can see which settings are needed without guessing, and nobody has to share a file with real secrets to get started.
10
+
11
+ ## What to check before merging
12
+
13
+ - [ ] The file contains no real keys or passwords. Only names and comments.
14
+ - [ ] The comments are accurate. Add any variable that's missing.
15
+
16
+ ---
17
+
18
+ Opened by [Aura](https://github.com/JohnFazio1/aura) · {{aura_version}}
@@ -0,0 +1,16 @@
1
+ ## What this does
2
+
3
+ Adds ESLint with the official Next.js rules, Prettier for consistent formatting, and `lint` and `format` scripts.
4
+
5
+ ## Why it matters
6
+
7
+ Linting catches common bugs (like misused React hooks) automatically. Consistent formatting keeps changes small and easy to review, so it's clear what actually changed.
8
+
9
+ ## What to check before merging
10
+
11
+ - [ ] The **CI** check passes. If lint reports existing problems, merge this anyway and ask your coding agent to fix them in a follow-up.
12
+ - [ ] Don't run the formatter across the whole project in this pull request; it would hide real changes in a huge diff.
13
+
14
+ ---
15
+
16
+ Opened by [Aura](https://github.com/JohnFazio1/aura) · {{aura_version}}
@@ -0,0 +1,16 @@
1
+ ## What this does
2
+
3
+ Adds a pre-commit hook with Husky. Before each commit, it checks the staged changes for secrets (API keys, tokens, passwords) with `aura check-staged` and runs lint if the project has a lint script. A commit with a secret in it is stopped.
4
+
5
+ ## Why it matters
6
+
7
+ Once a secret is pushed to GitHub, you have to rotate it. Catching it before the commit means it never leaves your computer.
8
+
9
+ ## What to check before merging
10
+
11
+ - [ ] After merging, run the install command from the README once so the hook is set up on your machine.
12
+ - [ ] Make a small commit to confirm it runs. It takes a few seconds.
13
+
14
+ ---
15
+
16
+ Opened by [Aura](https://github.com/JohnFazio1/aura) · {{aura_version}}
@@ -0,0 +1,16 @@
1
+ ## What this does
2
+
3
+ Adds a `README.md` describing {{product_name}}: what it does, how to set it up and run it, the environment variables it needs, the commands, how it's deployed and how the project is organized.
4
+
5
+ ## Why it matters
6
+
7
+ The README is the first thing a teammate, contractor, investor or coding agent reads. A good one saves hours of explaining and guessing.
8
+
9
+ ## What to check before merging
10
+
11
+ - [ ] The "What it does" section describes the product well. Edit it in this pull request if not.
12
+ - [ ] The setup steps match how you run the project.
13
+
14
+ ---
15
+
16
+ Opened by [Aura](https://github.com/JohnFazio1/aura) · {{aura_version}}
@@ -0,0 +1,16 @@
1
+ ## What this does
2
+
3
+ Adds standard security headers to every response, through `headers()` in `next.config`: force HTTPS, block other sites from showing your app in a frame, stop browsers guessing file types, limit what's shared when users click links to other sites, and turn off camera, microphone and location access.
4
+
5
+ ## Why it matters
6
+
7
+ These headers block several common attacks, such as clickjacking (tricking users into clicking something hidden), with no change to how your app works. A Content Security Policy is left out on purpose because it often breaks apps; it's a good follow-up.
8
+
9
+ ## What to check before merging
10
+
11
+ - [ ] Open the preview deployment and click through the app. Everything works as before.
12
+ - [ ] If your app is meant to be embedded in another website, or uses the camera, microphone or location, tell your coding agent so it can adjust the headers.
13
+
14
+ ---
15
+
16
+ Opened by [Aura](https://github.com/JohnFazio1/aura) · {{aura_version}}
@@ -0,0 +1,16 @@
1
+ ## What this does
2
+
3
+ Adds `.github/dependabot.yml`. Dependabot opens a weekly pull request that groups minor and patch updates for your packages, and a monthly one for GitHub Actions. It waits a few days after a new release before suggesting it.
4
+
5
+ ## Why it matters
6
+
7
+ Old packages collect known security problems. Small, regular updates checked by CI are much easier and safer than a big upgrade once a year.
8
+
9
+ ## What to check before merging
10
+
11
+ - [ ] After merging, expect a few Dependabot pull requests. Merge them when the **CI** check passes.
12
+ - [ ] Also turn on Dependabot alerts and security updates (see `aura guide github-security`).
13
+
14
+ ---
15
+
16
+ Opened by [Aura](https://github.com/JohnFazio1/aura) · {{aura_version}}
@@ -0,0 +1,19 @@
1
+ ## What this does
2
+
3
+ Updates packages that have publicly known security vulnerabilities to the nearest fixed version.
4
+
5
+ {{details}}
6
+
7
+ ## Why it matters
8
+
9
+ Attackers scan for apps that use packages with known vulnerabilities. Updating closes those holes.
10
+
11
+ ## What to check before merging
12
+
13
+ - [ ] The **CI** check passes.
14
+ - [ ] Open the preview deployment and try the main flows (sign in, the core feature, payment). Version updates can occasionally change behaviour.
15
+ - [ ] Packages marked as major upgrades are the most likely to need code changes. If one breaks something, ask your coding agent to fix it on this branch.
16
+
17
+ ---
18
+
19
+ Opened by [Aura](https://github.com/JohnFazio1/aura) · {{aura_version}}
@@ -0,0 +1,19 @@
1
+ ## What this does
2
+
3
+ Sets up the basics every app should have, in one pull request.
4
+
5
+ {{details}}
6
+
7
+ ## Why it matters
8
+
9
+ These are the foundations that keep an app safe and maintainable as it grows: your coding agent knows the rules, checks run on every change, and secrets stay out of the code. Doing them together now is much easier than adding them one by one later.
10
+
11
+ ## What to check before merging
12
+
13
+ - [ ] Read the product brief (`.aura/brief.md`) and fix anything that's wrong.
14
+ - [ ] The **CI** check on this pull request passes. If it fails because of an existing problem, ask your coding agent to fix it on this branch.
15
+ - [ ] After merging, run the install command from the README once so the pre-commit hook is set up on your machine.
16
+
17
+ ---
18
+
19
+ Opened by [Aura](https://github.com/JohnFazio1/aura) · {{aura_version}}
@@ -0,0 +1,18 @@
1
+ ## What this does
2
+
3
+ Installs skills: short instruction files your coding agent loads only when a task needs them. They go in `{{skills_dir}}/`.
4
+
5
+ {{details}}
6
+
7
+ ## Why it matters
8
+
9
+ Skills give your agent detailed, up-to-date instructions for the things that most often go wrong in apps built quickly (security, database rules, tests, secrets), without filling every session with instructions it doesn't need.
10
+
11
+ ## What to check before merging
12
+
13
+ - [ ] Skim the list of skills. Remove any you don't want by deleting its folder in this pull request.
14
+ - [ ] If you already had a skill with the same name, check the changes to it in this pull request.
15
+
16
+ ---
17
+
18
+ Opened by [Aura](https://github.com/JohnFazio1/aura) · {{aura_version}}
@@ -0,0 +1,18 @@
1
+ ## What this does
2
+
3
+ Moves a few files to the place the project's folder layout says they belong, and updates every import that pointed to them. No code inside the files changes.
4
+
5
+ {{details}}
6
+
7
+ ## Why it matters
8
+
9
+ A predictable layout means you and your coding agent find things quickly, and new code goes in the right place.
10
+
11
+ ## What to check before merging
12
+
13
+ - [ ] The **CI** check passes (it confirms every import still works).
14
+ - [ ] No page URLs changed. Pages under `app/` are never moved by this action.
15
+
16
+ ---
17
+
18
+ Opened by [Aura](https://github.com/JohnFazio1/aura) · {{aura_version}}
@@ -0,0 +1,18 @@
1
+ ## What this does
2
+
3
+ Deletes files that nothing in the project imports or uses.
4
+
5
+ {{details}}
6
+
7
+ ## Why it matters
8
+
9
+ Unused files confuse you and your coding agent: agents read them, copy patterns from them and sometimes edit them instead of the real code. Removing them makes the project smaller and easier to work on.
10
+
11
+ ## What to check before merging
12
+
13
+ - [ ] Check the list. If you recognize a file you still need (for example something used by a script or an external tool), tell your coding agent or restore it in this pull request.
14
+ - [ ] The **CI** check passes and the preview deployment works.
15
+
16
+ ---
17
+
18
+ Opened by [Aura](https://github.com/JohnFazio1/aura) · {{aura_version}}
@@ -0,0 +1,19 @@
1
+ ## What this does
2
+
3
+ Adds Vitest, a fast test runner, with a config file, a `test` script in `package.json` and one small example test.
4
+
5
+ {{details}}
6
+
7
+ ## Why it matters
8
+
9
+ Tests check that your app still works after every change, so you and your coding agent can change things with confidence. Your agent rules ask agents to add tests for every new feature; this gives them a place to put them.
10
+
11
+ ## What to check before merging
12
+
13
+ - [ ] The **CI** check passes, which runs the example test.
14
+ - [ ] Run the test script locally if you like (see the README). The example test passes.
15
+ - [ ] Replace the example test with real ones over time. Your coding agent can start with `aura fix write-critical-tests --agent`.
16
+
17
+ ---
18
+
19
+ Opened by [Aura](https://github.com/JohnFazio1/aura) · {{aura_version}}
@@ -0,0 +1,18 @@
1
+ ## What this does
2
+
3
+ Adds `docs/index.md`, a short map of the project: key documents, where code lives, architecture notes and integrations. Your agent rules tell agents to read it first.
4
+
5
+ {{details}}
6
+
7
+ ## Why it matters
8
+
9
+ Agents spend a lot of time (and tokens, which cost money) searching the codebase. A short index lets them open only the files they need, so they work faster, cheaper and with fewer mistakes. Agents add to it as they learn more about the project.
10
+
11
+ ## What to check before merging
12
+
13
+ - [ ] The "Where things live" section matches your project. Fix anything that's off.
14
+ - [ ] Nothing secret is in it.
15
+
16
+ ---
17
+
18
+ Opened by [Aura](https://github.com/JohnFazio1/aura) · {{aura_version}}
@@ -0,0 +1,73 @@
1
+ # {{product_name}}
2
+
3
+ {{product_summary}}
4
+
5
+ ## What it does
6
+
7
+ <!-- Describe the main things a user can do, in plain language. See .aura/brief.md for the full brief. -->
8
+
9
+ ## Built with
10
+
11
+ {{stack_list}}
12
+
13
+ ## Getting started
14
+
15
+ ### Prerequisites
16
+
17
+ - Node.js {{node_version}} or later
18
+ - {{package_manager}}
19
+ - Accounts with access to the project's services (see Environment variables)
20
+
21
+ ### Set up
22
+
23
+ 1. Install dependencies:
24
+ ```bash
25
+ {{install_cmd}}
26
+ ```
27
+ 2. Copy the example environment file and fill in the values:
28
+ ```bash
29
+ cp .env.example .env.local
30
+ ```
31
+ If the project is linked to Vercel, `vercel env pull .env.local` downloads the development values instead.
32
+ 3. Start the development server:
33
+ ```bash
34
+ {{run}} dev
35
+ ```
36
+ 4. Open http://localhost:3000.
37
+
38
+ ## Environment variables
39
+
40
+ Every variable is listed in `.env.example` with a short description. Never commit `.env.local` or real values.
41
+
42
+ {{env_vars_list}}
43
+
44
+ Variables starting with `NEXT_PUBLIC_` are visible in the browser, so they must never hold secrets.
45
+
46
+ ## Commands
47
+
48
+ {{commands_list}}
49
+
50
+ ## Deployment
51
+
52
+ - **App**: hosted on Vercel. Pushing to `main` deploys to production; every pull request gets a preview deployment. Set environment variables in Vercel under Project → Settings → Environment Variables, then redeploy.
53
+ - **Database**: schema changes are migrations in `supabase/migrations/`. Apply them to production with `npx supabase db push` (after `npx supabase link`) before or alongside the deploy that needs them.
54
+
55
+ ## Project structure
56
+
57
+ ```
58
+ app/ Routes and pages
59
+ components/ UI components
60
+ lib/ Business logic, integrations, Supabase clients
61
+ supabase/migrations/ Database migrations
62
+ docs/ Project docs
63
+ public/ Static files
64
+ ```
65
+
66
+ ## Docs
67
+
68
+ - [Docs index](docs/index.md): where things live, architecture notes, integrations
69
+ - [Product brief](.aura/brief.md): what we're building and for whom
70
+
71
+ ---
72
+
73
+ Built with [Aura](https://github.com/JohnFazio1/aura).
@@ -0,0 +1,43 @@
1
+ ## About {{product_name}}
2
+
3
+ {{product_summary}}
4
+
5
+ The product brief in `.aura/brief.md` is the source of truth for what we're building and for whom. Read it before planning a feature. If a request contradicts it, ask before continuing.
6
+
7
+ ## Stack
8
+
9
+ {{stack_list}}
10
+
11
+ Package manager: {{package_manager}}. Use it for every install and script; don't add another lockfile.
12
+
13
+ ## Commands
14
+
15
+ {{commands_list}}
16
+
17
+ ## Rules
18
+
19
+ These apply to every change.
20
+
21
+ 1. **Tests**: every new feature and bug fix gets tests. Run the test suite before saying you're done, and never delete or skip a failing test to make it pass.
22
+ 2. **Auth on every route**: every route handler and server action checks the signed-in user on the server and checks they're allowed to touch that record. Validate input with zod.
23
+ 3. **Row level security on every table**: every new table enables RLS with explicit policies, in a migration in `supabase/migrations/`. Never edit an applied migration.
24
+ 4. **No hardcoded secrets**: read secrets from `process.env` in server code only. Never put a secret in a `NEXT_PUBLIC_` variable. When you add a variable, add it to `.env.example` (name and comment, no value).
25
+ 5. **Folder layout**: put new code where the folder-structure skill says. Search for an existing helper before writing a new one.
26
+ 6. **Small, focused changes**: one concern per change. Don't refactor unrelated code or move many files at once.
27
+ 7. **Docs**: update README.md and `docs/index.md` when behaviour, setup or env vars change.
28
+ 8. **Errors**: handle failures with plain user-facing messages; never show stack traces or raw errors to users.
29
+ 9. **Check your work**: run `aura scan` before finishing a big change and fix anything new it reports. Never disable or work around an Aura check without the user's agreement.
30
+ 10. **Plain language**: the user may be non-technical. Explain what you did and why in plain words, and say clearly when they need to do something themselves (dashboards, keys, payments).
31
+
32
+ ## Working efficiently
33
+
34
+ - Read `docs/index.md` first. It says where things live, so you don't have to search the whole repo.
35
+ - Open only the files you need for the task. Don't read lockfiles, build output (`.next/`, `dist/`) or `node_modules/`.
36
+ - Load a skill only when the task needs it.
37
+ - When you learn something about the codebase that would have saved time, add one line to `docs/index.md`.
38
+
39
+ ## Skills
40
+
41
+ Skills live in `{{skills_dir}}/`. Load the relevant one before starting that kind of work.
42
+
43
+ {{skills_list}}
@@ -0,0 +1,76 @@
1
+ ---
2
+ name: aura
3
+ description: Use when the user asks about their Aura score, what to fix next, or to fix the most serious issue, before a release, or after a big change. Runs the Aura CLI to scan the repo, explain findings in plain language and fix them through pull requests.
4
+ ---
5
+
6
+ # Aura
7
+
8
+ Aura is a CLI that scores this repo on security, agent setup, foundations and structure (0–100), then recommends and makes fixes through pull requests. The user is often a non-technical founder. Your job is to run Aura, explain what it found in plain language and help fix it.
9
+
10
+ Run `aura <command>`. If `aura` is not on the PATH, run `npx getaura <command>` instead.
11
+
12
+ ## When to use it
13
+
14
+ - "Check my Aura score", "how healthy is my code", "is this safe to launch"
15
+ - "What should I fix next?" or "fix the most serious issue"
16
+ - Before a release, and after a big change (new feature, new integration, large refactor)
17
+
18
+ ## Commands
19
+
20
+ Always use the non-interactive flags below so nothing waits for input.
21
+
22
+ | Goal | Command |
23
+ | --- | --- |
24
+ | Score and findings | `aura scan --json` (add `--fast` for a quick check without type checking, linting and dead-code analysis) |
25
+ | Recommended next steps | `aura next --json` |
26
+ | Apply a template change as a PR | `aura apply <action> --yes` |
27
+ | Let Aura's agent fix something | `aura fix <finding id or action> --yes` |
28
+ | Get a task file for you to complete | `aura fix <finding id or action> --agent` |
29
+ | Step-by-step guide for the user | `aura guide <topic>` (list topics with `aura guide --list`) |
30
+ | Services, env vars and owners | `aura inventory --json` |
31
+ | Score trend | `aura history` |
32
+
33
+ ## Reading the JSON
34
+
35
+ `aura scan --json` returns:
36
+ - `score` (0–100) and `cappedBy` when a critical finding capped the score.
37
+ - `categories[]`: `category`, `score`.
38
+ - `checks[]`: `checkId`, `title`, `status`, `summary` and `findings[]`.
39
+ - Each finding: `id`, `severity` (critical, high, medium, low, info), `title`, `detail`, `why`, optional `explanation`, `locations[]` (`file`, `line`) and optional `actionId`.
40
+
41
+ `aura next --json` returns steps in priority order. Each step has `actionId`, `title`, `delivery` (`pr`, `agent-fix`, `guide`, `checklist`), `why`, `impact` (estimated points gained), `effort` and the exact `command` to run.
42
+
43
+ ## Explaining findings to the user
44
+
45
+ - Use plain language. Say what could happen to the business or its users, not just the technical term.
46
+ - Start with the most serious finding. Group the rest; don't dump the whole list.
47
+ - Never print, quote or repeat a secret value, even partly. Refer to it by file and line.
48
+ - Keep two things separate: what Aura found, and what you think. Say "Aura found…" and "I think…".
49
+ - End with one clear recommendation and the command or action for it.
50
+
51
+ ## Fixing things
52
+
53
+ 1. Pick the step: the first item from `aura next --json`, or the finding the user named.
54
+ 2. Follow its `delivery`:
55
+ - `pr`: run the step's command (`aura apply <action> --yes`). Tell the user a PR was opened and what to check.
56
+ - `agent-fix`: run `aura fix <id> --agent`, then complete the task file yourself (see below), or run `aura fix <id> --yes` if the user prefers Aura's agent.
57
+ - `guide`: run `aura guide <topic>` and walk the user through it. These steps happen in vendor dashboards, so the user does them.
58
+ - `checklist`: run `aura inventory` and help the user answer the questions.
59
+ 3. After any change, run `aura scan --json` again and tell the user the new score.
60
+
61
+ ## Task files
62
+
63
+ When `.aura/tasks/<id>.md` exists, it is your brief. Follow it exactly:
64
+
65
+ 1. Create a branch: `git checkout -b aura/<id>`.
66
+ 2. Make the change the task describes. Keep it small and focused on that task.
67
+ 3. Run the tests, lint and typecheck. Fix anything you broke.
68
+ 4. Commit, push and open a PR with `gh pr create`. Write the PR body in plain language: what changed, why it matters, and what the user should check before merging.
69
+ 5. Run `aura scan` to confirm the finding is gone.
70
+
71
+ ## Rules
72
+
73
+ - Never disable, weaken or game a check to raise the score. This includes adding `aura-ignore` comments, editing `.aura/config.json` ignores or deleting tests, unless the user explicitly agrees after you explain the trade-off.
74
+ - Never commit `.aura/report.md`, `.aura/scan.json`, `.aura/history.json` or `.aura/tasks/`. They stay local because they can describe security weaknesses.
75
+ - If a finding is a leaked secret, tell the user straight away and run `aura guide rotate-<service>-key`. Removing the secret from the code is not enough; it must be rotated.
76
+ - If you think a finding is wrong, say so and explain why. Don't silently skip it.