nextcloud
- 13 skills
- 0 followers
- 6 hours ago last updated
- ▌
- ▌ Android Idioms · nextcloudIdiomatic Kotlin for Android in this codebase — decomposing oversized lifecycle functions, scope functions (run/apply/with), when and partition instead of switch, extension functions and AndroidX KTX over verbose Java utilities, null safety instead of platform types, and companion-object constants. Use when writing any new Kotlin or converting a Java class to Kotlin.
- ▌ Deprecated Apis · nextcloudReplacements for deprecated Android APIs — the Activity Result API instead of startActivityForResult/onActivityResult, MenuProvider instead of onCreateOptionsMenu/onOptionsItemSelected, and why a behaviour-locked conversion keeps java.util.Observable rather than silently moving to StateFlow. Use when touching activity results, fragment menus, or observer callbacks.
- ▌ Project Conventions · nextcloudNextcloud Notes house conventions for any file you add, rename, or edit — SPDX header form, the 300-line and one-top-level-type-per-file limits, magic numbers, string/color/dimen resources, Java-interop annotations, and the verification commands that actually exist in this repository. Use when creating or renaming a file, and before reporting any change as done.
- ▌ Harp Operations · nextcloud bundleRuns and debugs HaRP itself, the reverse proxy that serves as AppAPI's deploy daemon: deploying the container, the environment variables worth setting, health probes and what their answers mean, reading HAProxy and agent logs, client IP handling behind another reverse proxy, certificates and the FRP tunnel, upgrades and version floors, and load-related failures. Use when HaRP returns 401, 403, 404, 502 or 503, when ExApps are unreachable although their containers run, or when installing, tuning or upgrading HaRP.
- ▌ Exapp Operations · nextcloud bundleInstalls, operates and troubleshoots Nextcloud AppAPI and External Apps (ExApps) with occ: set up the HaRP deploy daemon on Docker, Kubernetes, a remote GPU host or Nextcloud AIO, route /exapps/ on the reverse proxy, install, enable, disable, update and remove ExApps, manage daemon registries and ExApp config, and diagnose daemon or routing failures symptom-first. Use for AppAPI admin questions and day-2 ExApp operations on development or production instances.
- ▌ Exapp Development · nextcloud bundleBuilds a Nextcloud External App (ExApp) in any programming language against the raw AppAPI contract: heartbeat, init and enabled endpoints, authentication headers in both directions, the info.xml manifest, Docker packaging with an FRP tunnel for HaRP, and the two develop-and-redeploy loops. Use when creating a new ExApp, porting an existing service to Nextcloud, or debugging why an ExApp fails to deploy, authenticate, or serve its routes.
- ▌ Exapp Maintenance · nextcloud bundleFixes or extends an ExApp that is already installed on a Nextcloud instance, development or production: identify the installed version, clone the matching sources, diagnose from container logs, patch, rebuild the Docker image under its original name, and redeploy in place with occ app_api:app:update while preserving the app's secret, configuration and data volume. Use when a user reports that an installed ExApp is broken or asks for a capability it lacks, for example adding a model to a local AI app.
- ▌ Nextcloud PHP App · nextcloud bundleBuilds a Nextcloud app in PHP, the kind that runs inside the Nextcloud process, from an empty directory to a release tarball: manifest and bootstrap class, attribute routes, templates and page scripts, navigation, database migrations and entities, admin settings, a Vue and Vite frontend, PHPUnit, Psalm and php-cs-fixer, packaging, and browser-level verification with Playwright against a real instance. Use when creating a Nextcloud app, adding a page, route, table or settings section to one, or setting up tests and a release for it. For services that run in their own container, use exapp-development instead.
- ▌ Nextcloud AI Stack · nextcloud bundleInstalls, verifies and debugs Nextcloud's AI features end to end: the Assistant frontend, the server's Task Processing engine, and the provider apps behind it (llm2, translate2, stt_whisper2, text2image_stablediffusion2, context_chat) whether they run as local ExApps or as external API integrations. Use for "set up AI on my Nextcloud", "which app provides which task type", "the Assistant shows nothing", "my AI task never finishes", GPU versus CPU decisions, and model storage or download problems.
- ▌ Nextcloud Dev Setup · nextcloud bundleSets up a complete local Nextcloud development environment with Docker Compose using nextcloud-docker-dev: Nextcloud from source, the AppAPI app, a HaRP deploy daemon, /exapps/ browser routing, and a smoke-tested ExApp deploy as the acceptance gate. Use when asked to create or bootstrap a Nextcloud dev instance, prepare an environment for ExApp development, or repair a broken nextcloud-docker-dev setup.
- ▌ Add Remote Endpoint · nextcloudUse when adding a new remote/network endpoint (a RemoteOperation / OCSRemoteOperation) to this Nextcloud Android library, or when the user says "add an endpoint", "new remote operation", "implement this API call", or "wire up <OCS/ocs> API". Scaffolds the models, constants, operation, and tests following the governance package conventions and the standards in AGENTS.md.
- ▌ Android Java To Kotlin · nextcloud bundleUse when finishing a Java-to-Kotlin conversion in an Android project, when the user mentions "java to kotlin", "j2k", "convert java", "migrate java to kotlin", "finish the conversion", "make it idiomatic", or when a freshly IDE-converted .kt file needs to be turned into clean, modern, idiomatic Kotlin. The developer first runs the IDE converter (Android Studio: Code > Convert Java File to Kotlin File), then this skill drives the second pass: idiomatic cleanup, fail-fast control flow, coroutines/lifecycleScope, modern Android APIs, function decomposition, and a behaviour-locking test.