Core is the shared reference for khonager applications. It records the product, design, UX, engineering, repository, and release decisions that should not need to be rediscovered for every new project.
Core is a baseline and decision record, and now also hosts the Android-first Core app: a curated app/website library with GitHub build activity and release downloads. The reference documents remain independently useful; applications do not need a Core package dependency. Applications may diverge when their users, genre, or platforms require it, but the reason should be written down in that application's repository.
The baseline was inferred from the existing khonager project portfolio rather
than invented as a generic best-practices list. docs/portfolio-audit.md
records the evidence and confidence of those inferences.
The first development version lives in apps/core.
Edit catalog/projects.json to curate the library.
See the app README for running, building, and current limitations.
From the repository root, enter nix develop once per terminal. Then use the
root ./core command for Flutter tasks without changing directories:
./core pub get
./core run
./core run -d linux
./core test
./core build apk --release --split-per-abi --target-platform android-arm64,android-x64The APKs are written under apps/core/build/app/outputs/flutter-apk/.
For desktop build activity and copyable GitHub job logs, use the Linux target;
see apps/core/README.md.
docs/product.md— product scope and decision principlesdocs/preferences.md— the short version of how khonager products should feel and be builtdocs/design-system.md— reusable visual language, tokens, layout, components, and motiondocs/design-ux.md— interaction, accessibility, and complete-flow principlesdocs/engineering.md— code and architecture baselinedocs/stack-and-tooling.md— preferred stacks and project shapesdocs/repositories-and-releases.md— branches, CI, signing, tags, and public releasesADOPTING.md— checklist for a new or existing applicationtemplates/PROJECT.md— copyable local product, design, architecture, and delivery decision recordtemplates/flutter— copyable Flutter project files
The reusable Flutter quality workflow can be called from another public repository:
jobs:
quality:
uses: khonager/core/.github/workflows/flutter-quality.yml@main
with:
flutter-version: "3.41.9"Pin callers to a Core version tag once the first stable Core baseline is tagged.
Use this order when instructions disagree:
- Safety, legal, platform, and user requirements.
- An intentional decision documented in the application repository.
- The shared defaults in Core.
- Existing local code where no decision has been recorded.
Core uses must for a requirement, should for the normal default, and may for an option. Do not copy an old project quirk merely because it exists; prefer the clearest current pattern described here.
This is an initial personal baseline. Its license has intentionally not been selected yet. Until a license is added, the repository is publicly readable but does not grant general reuse rights. Choose a license before inviting external reuse or contributions.