Skip to content

Commit af4e194

Browse files
elberrdclaude
andcommitted
impactus v2.0.0-alpha.5 — import inicial público
Instalador IAI: agent harness + FIA (Pi interativo, FDAs determinísticos, auth por assinatura). Histórico de desenvolvimento anterior preservado em registro privado. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
0 parents  commit af4e194

257 files changed

Lines changed: 41978 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
8+
jobs:
9+
test:
10+
strategy:
11+
# One red cell must not hide what the other platforms say.
12+
fail-fast: false
13+
matrix:
14+
os: [ubuntu-latest, macos-latest, windows-latest]
15+
node: [22, 24]
16+
runs-on: ${{ matrix.os }}
17+
steps:
18+
- uses: actions/checkout@v4
19+
- uses: actions/setup-node@v4
20+
with:
21+
node-version: ${{ matrix.node }}
22+
cache: npm
23+
- run: npm ci
24+
- run: npm run lint
25+
# `npm test` runs `node test/run.mjs`, which lists test/*.test.js itself
26+
# and spawns `node --test` with explicit files: no shell glob (cmd.exe
27+
# on Windows does not expand it), no bare `node --test` discovery (which
28+
# would descend into the nested live1/live2 repos on a dev machine).
29+
- run: npm test

.gitignore

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
node_modules
2+
3+
# Teste manual em sandbox Daytona (efêmero) + a chave de API usada por ele.
4+
# Nada aqui é parte do produto: scripts descartáveis, logs e transcrições.
5+
daytona-test/
6+
.env.test
7+
8+
# Template local — repositório Git independente.
9+
# NÃO versionar aqui: pushes dentro de live1/ vão para o repo do template.
10+
live1/
11+
12+
# Estudo — clones de repos de terceiros só para análise local.
13+
# Nunca versionar: material não redistribuível.
14+
estudo/
15+
16+
# Template multi-tenant local — repositório Git independente.
17+
# Mesma regra do live1/: checkout de desenvolvimento; a CLI baixa do gate.
18+
live2/
19+
20+
# Harness local — repositório Git independente.
21+
# Mesma regra do live1/: checkout de desenvolvimento; a CLI baixa o harness
22+
# pela API gated da comunidade em tempo de instalação.
23+
harness/
24+
25+
# Log vivo de lições (sintoma → causa → correção → guarda) — material de
26+
# trabalho interno, não faz parte do produto publicado. Fica só no disco.
27+
lessons.md

.prettierrc.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"printWidth": 120,
3+
"singleQuote": true,
4+
"semi": true,
5+
"trailingComma": "all"
6+
}

CLAUDE.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# CLAUDE.md — impactus (the IAI installer)
2+
3+
## What this is
4+
5+
`impactus` is the IAI installer CLI, published on npm. Students run
6+
`npx impactus` (or the `imp` brand launcher) to stamp a project with the agent
7+
harness plus the FIA — the IAI Agent Factory: Pi as the interactive agent,
8+
deterministic FDAs (fully-automated dev agents), and subscription-based auth
9+
(Claude only through the official `claude` CLI, Codex through Pi — never API
10+
keys or extra usage).
11+
12+
- `bin/create-iai.js` — the installer entry (`npx impactus`, `imp init`).
13+
- `bin/imp.js` — the `imp` launcher: a thin brand wrapper over the real `pi`
14+
binary, **not a Pi fork**. `init`/`update`/`tui`/`help` are imp commands;
15+
everything else passes straight through to `pi` (stdout must stay
16+
byte-identical for piped runs).
17+
- `src/steps/` — the install pipeline, one step per file (preflight, template,
18+
clerk, convex, stack, fia, verify, update-runtime, finish…).
19+
- `src/lib/` — shared helpers (proc, ui, skills, pi-auth, args…).
20+
- `fia-templates/` — the `imp/` runtime stamped into projects (FDA scripts,
21+
sequencers, TUI, gates).
22+
- `pi-templates/` — the project `.pi/` (prompts, the `fia` skill + cookbooks,
23+
extensions).
24+
- `harness/`, `live1/`, `live2/` — the harness and the two live templates
25+
(separate repos checked out here; the harness is the single source of truth
26+
for skills/commands — templates never carry their own copies).
27+
- `test/``node:test` suite. `DOCS.md` — the deep documentation. Internal
28+
planning/design docs live in the private `impactus-internal-docs` repo —
29+
never add them back here (this repo is public).
30+
31+
## Commands
32+
33+
```bash
34+
npm test # full suite (node test/run.mjs)
35+
npm run lint # eslint
36+
npm run sync:skills # regenerates .cursor/skills mirrors (never edit those by hand)
37+
```
38+
39+
## Hard rules
40+
41+
- Node floor is **>= 22.12** everywhere (repo, templates, generated projects).
42+
- Everything that ships (CLI output, templates, prompts, docs) is **English**.
43+
Commit messages are Portuguese, matching the history.
44+
- Nothing about optional extras (skills, Impeccable, addons) may ever abort an
45+
install — degrade with a warning and print the manual command.
46+
- Skills topology: the canonical copy lives in `.agents/skills/<name>/`;
47+
Claude Code symlinks it, Cursor and Pi read it directly. Never reintroduce
48+
copies in `.pi/skills/` (Pi dedupes by realpath — a copy means a "Skill
49+
conflicts" panel at every launch).
50+
- A new student-facing command must be registered everywhere it is listed
51+
(prompt file, `fia` SKILL.md routing, `finish.js` panels, README, DOCS).
52+
- Run `npm test` and `npm run lint` before committing. Commit/push only when
53+
the user asks.
54+
55+
## Lessons
56+
57+
`lessons.md` at the repo root (local-only: gitignored, never committed) is
58+
the living log of recurring problems and their fixes. **Check it before debugging a symptom that feels familiar**, and
59+
append a new entry (symptom → cause → fix → guard) whenever a notable bug is
60+
identified and corrected.

0 commit comments

Comments
 (0)