Skip to main content

floop

floop is an agent skill and CLI for uploading local project versions to floop-server and reading server comments.

PyPI version Python License Coverage

floop gives agents a small, repeatable workflow:

Select server -> Create/select project -> Create/select version -> Upload files -> Read comments -> Resolve comments

It does not build files, validate artifact internals, generate UI, or decide which files belong in a version. Other tools or users create the files. floop stores local project/version state, uploads version directories, caches server comments, and updates comment status.

Quick Start for Agents

Use this flow when a user asks to publish with floop:

  1. Confirm which floop server to use.
    • SaaS: https://floop-server.vercel.app
    • Custom/self-hosted: ask for the full server URL, for example http://localhost:3000
  2. After the server URL is known, tell the user where to create an API key: <server-url>/dashboard -> top-right user menu -> API Keys.
  3. Initialize floop with the server URL and key:
floop init --server-url <server-url> --api-key <key>
  1. Create or select a local project:
floop projects create <project>
floop projects use <project>
  1. Create or select a version:
floop versions create <version> --project <project> --artifact-type <type> --entrypoint index.html
floop versions use <version> --project <project>
  1. Put uploadable files in .floop/<project>/<version>/.
  2. Upload:
floop review upload --project <project> --version <version> --json-output
  1. Give the user previewUrl. The CLI upload API does not require or return a shareUrl; users can open the preview UI and click Share.
  2. Read comments when requested:
floop comments --project <project> --version <version> --version-id <server-version-id> --json-output
  1. Resolve only comments that were addressed by a newer uploaded version:
floop resolve <comment-id> --project <project> --version-id <server-version-id> --status resolved

Agent rules:

  • Do not invent API keys or search unrelated files for secrets.
  • Do not leave commands waiting for hidden API key input.
  • Do not treat missing shareUrl as an upload failure.
  • Do not modify artifact files unless the user asked for that work.

Install

pip install floop
floop --version

Enable the Agent Skill

Install the floop skill into the agent platform used by the current project:

floop enable copilot
floop enable cursor
floop enable claude
floop enable trae
floop enable qwen-code
floop enable opencode
floop enable openclaw
floop enable codex
floop enable pi
floop enable agent

The installed skill is named floop.

Quick Start for Humans

cd your-project

# Initialize workspace and server settings.
floop init --server-url http://localhost:3000 --api-key <key>

# Create/select local state.
floop projects create my-review
floop projects use my-review
floop versions create v1 --project my-review --artifact-type custom --entrypoint index.html
floop versions use v1 --project my-review

# Put uploadable files in .floop/my-review/v1/, then upload.
floop review upload --project my-review --version v1 --json-output

# Read server comments.
floop comments --project my-review --version v1 --version-id <server-version-id> --json-output

Server Setup

floop init accepts server settings:

floop init --server-url <server-url> --api-key <key>

If the API key is not available yet:

  1. Open <server-url>/dashboard.
  2. Use the top-right user menu.
  3. Choose API Keys.
  4. Create a key.
  5. Rerun floop init --server-url <server-url> --api-key <key>.

You can also set FLOOP_API_KEY in the environment or in .floop/floop.env.

Upload Contract

The upload API succeeds when it returns previewUrl.

{
  "uploaded": true,
  "previewUrl": "https://...",
  "shareUrl": null
}

shareUrl is not part of the CLI upload contract. Open the preview UI and use the Share button when a share link is needed.

Workspace Layout

.floop/
├─ floop.env              # Server URL + API key only
├─ projects.csv           # Local projects, server bindings, selected project/version
└─ <projectid>/
   └─ <version>/
      ├─ floop.version.json
      ├─ floop.upload.json
      ├─ floop.comments.json
      └─ ...uploadable files...

.floop/floop.env contains secrets. floop does not create or edit .floop/.gitignore; ignore policy belongs to the host repository.

Legacy workspaces under .floop/projects/<project>/versions/<version>/ are readable for compatibility. floop does not move or delete legacy files automatically.

Commands

Workspace

floop init --server-url <server-url> --api-key <key>
floop preview

Projects

floop projects
floop projects create <project>
floop projects use <project>

Versions

floop versions --project <project>
floop versions create <version> --project <project> --artifact-type <type> --entrypoint index.html
floop versions use <version> --project <project>

When a project and version are selected, commands that support defaults can use the selected values.

Server

floop review set --project <project> --server-url <server-url> --api-key <key>
floop review upload --project <project> --version <version> --json-output
floop comments --project <project> --version <local-version> --version-id <server-version-id> --json-output
floop resolve <comment-id> --project <project> --version-id <server-version-id> --status resolved

Responsibility Boundary

floop owns Other tools or users own
.floop/ workspace Source files
projects.csv project/version selection File generation
Server project binding File validation
Version upload Build systems
Server comments cache Artifact internals
Comment status updates Content changes

Supported Agents

Agent Command
GitHub Copilot floop enable copilot
Cursor floop enable cursor
Claude Code floop enable claude
Trae IDE floop enable trae
Qwen Code floop enable qwen-code
OpenCode floop enable opencode
OpenClaw floop enable openclaw
Codex floop enable codex
Pi floop enable pi
Agent Skills-compatible agent floop enable agent

Development

Run the full test gate:

PYTHONPATH=src python3 -m pytest --cov=floop --cov-report=term-missing --cov-fail-under=100

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

floop-2.0.2.tar.gz (40.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

floop-2.0.2-py3-none-any.whl (25.2 kB view details)

Uploaded Python 3

File details

Details for the file floop-2.0.2.tar.gz.

File metadata

  • Download URL: floop-2.0.2.tar.gz
  • Upload date:
  • Size: 40.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for floop-2.0.2.tar.gz
Algorithm Hash digest
SHA256 564d5ad8475de44061a650c12a100636ef7de09485c696e2b1e5f5fb71e898ea
MD5 cd03d95b55b52959828c0a29434004a5
BLAKE2b-256 8e09dc521ef3be43555ef4b16b42b3ee4713d4e68d75c8d90edf19bb831128d1

See more details on using hashes here.

Provenance

The following attestation bundles were made for floop-2.0.2.tar.gz:

Publisher: release.yml on lijma/floop-client

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file floop-2.0.2-py3-none-any.whl.

File metadata

  • Download URL: floop-2.0.2-py3-none-any.whl
  • Upload date:
  • Size: 25.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for floop-2.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8abfab8fdfbef68bd85b78b0ea03e615f0c98913b227986cccff1cb83cf6598a
MD5 eb62794b61bd9566866fef1201c3c8c4
BLAKE2b-256 ec8dcf761f0d9a78e4acbe2cd1107d0501304e25e126adc3ec5f4414d748afbb

See more details on using hashes here.

Provenance

The following attestation bundles were made for floop-2.0.2-py3-none-any.whl:

Publisher: release.yml on lijma/floop-client

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

2.0.2 This release

2 files

2.0.1

2 files

2.0.0

2 files

1.2.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page