Ctrl K
ComunidadGuías…

tasks/todo.md

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# Task checklist

- [x] Task 1: Scaffold the package and test harness
  - Acceptance: Node 22 package scripts and a secret-safe ignore policy exist.
  - Verify: `npm test` reaches the test runner.
  - Files: `package.json`, `scripts/`, `test/`

- [x] Task 2: Protect the n8n boundary
  - Acceptance: Inputs are allowlisted and forbidden n8n lifecycle commands are rejected.
  - Verify: focused policy tests fail first, then pass.
  - Files: `src/domain/validation.js`, `src/domain/safety.js`, tests

- [x] Task 3: Generate the sidecar
  - Acceptance: Compose uses an external network and contains no `ports` or Traefik labels.
  - Verify: template tests inspect generated output.
  - Files: `src/domain/templates.js`, tests

- [x] Task 4: Discover n8n read-only
  - Acceptance: running n8n containers and networks are parsed without mutation.
  - Verify: discovery tests use captured Docker output.
  - Files: `src/services/discovery.js`, tests

- [x] Task 5: Add verified SSH/SFTP
  - Acceptance: host fingerprint confirmation is required and secrets are not logged.
  - Verify: fake transport tests cover rejection and upload.
  - Files: `src/infrastructure/ssh.js`, tests

- [x] Task 6: Install only the sidecar
  - Acceptance: remote writes stay under `/docker/n8n-openai-oauth`; n8n is untouched.
  - Verify: installer integration tests assert the exact command sequence.
  - Files: `src/services/installer.js`, tests

- [x] Task 7: Handle local OAuth
  - Acceptance: existing auth is detected and fresh login uses the pinned upstream CLI.
  - Verify: process and filesystem fakes cover success, expiry, and missing auth.
  - Files: `src/services/oauth.js`, tests

- [x] Task 8: Serve the localhost wizard
  - Acceptance: server binds to loopback, requires a session token, validates origin/body size.
  - Verify: localhost HTTP integration tests.
  - Files: `src/web/server.js`, tests

- [x] Task 9: Add the browser UI
  - Acceptance: keyboard-accessible steps cover fingerprint, discovery, plan, confirm, and result.
  - Verify: runtime browser inspection and clean console.
  - Files: `src/ui/index.html`, `src/ui/app.js`, `src/ui/styles.css`

- [x] Task 10: Write the beginner guide and troubleshooting
  - Acceptance: corrected Hostinger path and all observed failures are documented.
  - Verify: commands match generated templates and current upstream flags.
  - Files: `README.md`, `docs/manual-install.md`, `docs/troubleshooting.md`

- [x] Task 11: Document security and maintenance
  - Acceptance: threat model, uninstall, token refresh, and upgrade process are explicit.
  - Verify: security checklist review.
  - Files: `docs/security.md`, `docs/architecture.md`, `docs/maintenance.md`

- [x] Task 12: Verify and prepare the `0.1.6` release candidate
  - Acceptance: tests, lint, audit, package preview, and secret scan pass;
    repository metadata and public documentation are complete.
  - Verify: `npm run check`, `npm audit --audit-level=high`, and
    `npm pack --dry-run`.
  - Files: repository metadata and Git history