Skip to content

Latest commit

 

History

History
40 lines (32 loc) · 2.57 KB

File metadata and controls

40 lines (32 loc) · 2.57 KB

Repository Guidelines

Project Structure & Module Organization

  • Source: src/ (ES modules, SCSS). Key areas: src/components/, src/pages/, src/lib/, src/plugins/ (Cordova plugins), src/styles/.
  • Web assets: www/ (entry index.html, build output in www/build/, css/js subfolders).
  • Config: webpack.config.js, .babelrc, biome.json, config.xml.
  • Utilities: utils/ (build, start, setup scripts; language and tooling helpers).

Build, Test, and Development Commands

  • pnpm run setup: Install deps, add Android platform, create build dirs, add plugins.
  • pnpm run start -- android d: Build and run on device/emulator (default dev). For release-like: pnpm run start -- android p.
  • pnpm run build: Build app (defaults to dev). Production example: pnpm run build -- paid prod. F-Droid variant: pnpm run build -- paid prod fdroid.
  • pnpm run clean -- android android: Recreate Android platform.
  • pnpm run plugin -- <id> [path]: Reinstall a Cordova plugin.
  • Linting/format: pnpm run lint, pnpm run format, pnpm run check (Biome).

Coding Style & Naming Conventions

  • Formatting: Biome enforced; indent with tabs (biome.json). Run npm run format before commits.
  • Language: ESM JavaScript, SCSS; prefer imports from src root (webpack resolve.modules: ["node_modules", "src"]).
  • Naming: camelCase for files/dirs (e.g., fileSystem, quickTools), PascalCase for classes/components, kebab-case for SCSS partials when applicable.

Testing Guidelines

  • No formal test runner configured. Provide clear manual verification steps for Android (device/emulator), including affected screens, repro steps, and expected/actual behavior.
  • Attach logs when relevant (see issue templates mention of Acode.log). Screenshots or screen recordings are encouraged for UI changes.

Commit & Pull Request Guidelines

  • Commits: Follow conventional style when possible (feat:, fix:, chore(scope):, etc.), reference issues ((#123)).
  • PRs: Include a concise summary, linked issues, screenshots for UI, and test/verification steps. Note any Cordova plugin or config changes.
  • Keep diffs focused; run npm run lint and ensure www/build/ is generated by the pipeline, not committed.

Security & Configuration Tips

  • Building for F-Droid: pass fdroid as the third arg to build to toggle plugin set.
  • Do not commit secrets/keystores. Android signing is handled outside the repo; keep keystore.jks private.

When you need to call tools from the shell, use this rubric:

  • Find Files: fd
  • Find Text: rg (ripgrep)
  • Select among matches: pipe to fzf
  • JSON: jq