Version 9 of 17 · · Current version

tags
#help #projects

Help: projects

A project is your own space in d2: its own address, wiki, domain, objects and files, and its own members. Everything in it stays in it; nothing is shared with other projects except what d2 itself shares (this help, the AI skills d2-maker, d2-agents and d2-guardian).

Create one

  1. Sign up or log in on aiheroapps.com. You land on your account home, which lists your projects.
  2. Name it under New project. A name is lower-case letters, digits and dashes, starting and ending with a letter or digit; it becomes the address, <name>.aiheroapps.com. d2 checks that it's free. Names starting with d2 are reserved.
  3. Pick its level, one per kind of user. It sets the menu and the home page you start with; change it later in the project's settings (Settings:PROJECT).
    • Hero: your own app, no code. Home, wiki, data and files.
    • Creator: you model and build. Adds the domain and the model graph.
    • Pro: the full kit. Adds the fiddle, flows and the API.
  4. You own it, as its first admin. It opens on its home page; its landing page is what visitors see.

New projects need a new web address each, and d2 can make only so many a week (about 40). If that's used up, the create page says when the next one frees up.

Who can do what

Everyone in a project has a role. Roles nest: each can do everything the one below it can.

  • public: anyone, logged in or not. Sees the landing page, and what's marked public.
  • member: reads the project, writes topics and objects, uploads files, makes AI tokens for themselves.
  • mod: also edits the landing page and special pages, and replaces or deletes anyone's files.
  • admin: also runs the project's Admin page (in the user menu), with three cards: Members (who's in, their roles, requests, invites), Project (versions, who can join) and Quotas (what the plan allows and what's used). The owner is an admin.
  • god is d2's own administrator: admin in every project.

What each topic and object may be seen or changed by is set by its class (@view, @edit); settings, for example, are for mods. The landing page is always public, since it's where people log in.

Let people in

On Admin → Project (admins), choose who can join:

  • request (the default): people press Request to join on the landing page; you approve or deny on Admin → Members, and they're told.
  • open: anyone who's logged in can press Join and becomes a member.
  • private: members only. Visitors see at most the landing page, and only people you add get in.

Invite someone by email on Admin → Members, with the role they'll have. The invite is a link, good for 7 days, and works whatever the join setting; opening it (logged in as that email) makes them a member. A new invite to the same person replaces the old one.

Change a role or remove someone on Admin → Members. You can't remove the last admin.

Once you're in

  • Single sign-on: logged in on one project and a member of another, Log in there needs no password.
  • Your AI gets its own token: Tokens in your user menu, at most your own level (or read only), expiring in 30 days, 90 days, a year, or never. Tick drafts to have its topic changes wait for you on your Drafts page. Revoke it on the same page. See Connect your AI.
  • Scope: a token is for this project (the default), or, on the Yearly and Monthly plans, for all my projects: every project you own, new ones included, never one where you're only a member or an admin. It's one agent everywhere (one vault key, the same name in every project's history); revoking it anywhere revokes it everywhere. Used where it doesn't reach, it's refused with E_TOKEN_SCOPE, saying where it works. On the free plan an all-projects token is paused everywhere except the project it was made on.
  • Plans and quotas: a project follows its owner's plan: Free, Yearly ($20 a year) or Monthly ($20 a month). The plan sets its limits: files and their size, objects and their size, members, how long a flow may run. Admin → Quotas shows each limit and what's used; the table for every plan is Settings:Quotas in d2. On free: 20 files and 5 MB, 1000 objects, 3 members, 5 s a flow. Your plan (user menu → Plan, /account/plan) shows yours and moves you between them: Upgrade goes to PayPal's checkout, where you approve a payment that renews each period until you cancel; the plan changes when PayPal confirms it. Switch to a bigger plan starts at once, to a smaller one at the end of the period paid for; Cancel plan keeps it to the end of that period, and you can cancel in PayPal too. A failed payment warns you and gives you 7 days to fix it in PayPal before the plan drops to Free. Only you change your plan: never your AI. At 70% of any quota a project's admins get a warning, at 85% an alert, once each per period; at 100% the write is refused and the owner, the admins and d2's administrators get an alert (N_QUOTA_FULL), once per quota per period. Payments run in PayPal's test mode (sandbox) for now.
  • The init page: a project sets itself up in rules on its init page, Settings:Init (Admin → Init): what it needs when it starts, its crons, and how it reacts to its data. See Init.
  • Versions: an admin releases a project version from Admin → Project (1.2.0); it rolls the project log and the AI log over.
  • Leaving: delete your account from your preferences (/prefs). Projects you own keep their other members.

For AIs and scripts

The same things through the API (every API route is on the API page):

  • GET /api/v2/me: who you are here, and your role.
  • GET /api/v2/projects/available?name=…: is a name free.
  • Writes need a member's session or a token: Authorization: Bearer d2t_….