{"id":19714506,"url":"https://github.com/monstar-lab/sample-android-kotlin","last_synced_at":"2026-04-19T07:31:40.610Z","repository":{"id":77243411,"uuid":"125188653","full_name":"monstar-lab/sample-android-kotlin","owner":"monstar-lab","description":"Sample continuous integrated project for Android (Kotlin).","archived":false,"fork":false,"pushed_at":"2018-06-07T05:52:13.000Z","size":149,"stargazers_count":2,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-22T13:25:37.985Z","etag":null,"topics":["android","circleci","danger","kotlin","lint"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/monstar-lab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-03-14T09:34:25.000Z","updated_at":"2020-02-03T10:19:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"36912a38-7e1d-4142-a74c-6b8a81b1dcc6","html_url":"https://github.com/monstar-lab/sample-android-kotlin","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/monstar-lab/sample-android-kotlin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monstar-lab%2Fsample-android-kotlin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monstar-lab%2Fsample-android-kotlin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monstar-lab%2Fsample-android-kotlin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monstar-lab%2Fsample-android-kotlin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/monstar-lab","download_url":"https://codeload.github.com/monstar-lab/sample-android-kotlin/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monstar-lab%2Fsample-android-kotlin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31998792,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","circleci","danger","kotlin","lint"],"created_at":"2024-11-11T22:32:58.423Z","updated_at":"2026-04-19T07:31:40.593Z","avatar_url":"https://github.com/monstar-lab.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sample for Android (Kotlin)\n\n[![CircleCI](https://circleci.com/gh/monstar-lab/sample-android-kotlin.svg?style=svg)](https://circleci.com/gh/monstar-lab/sample-android-kotlin)\n\nThis is the sample continuous integrated project for Android (Kotlin).\n\n## What is this repository?\n\n- **Lint**\n  - **ktlint**\n  - **detekt**\n  - **Android Lint**\n- **Build**: Configured build setting. e.g. `signingConfigs`, `buildTypes`\n- **CircleCI**: Lint, Test, and Build in [CircleCI](https://circleci.com/).\n- **PR Comment by Danger**: [Danger](http://danger.systems/ruby/) configuration is included. Lint error comes as PR comment.\n\n\n## How to setup\n\n1. Setup CircleCI build.\n    - Turn \"On\" \"Only build pull requests\".\n2. Copy or refer to below files. [diff](https://github.com/monstar-lab/sample-android-kotlin/compare/6e14739b8d26c11b66d3e0c11478fbe84b479ebc...master)\n    - `.circleci/config.yml`\n    - `Dangerfile`\n    - `Gemfile`\n    - `Gemfile.lock` : If you want newer version, please exec `bundle update`.\n    - `build.gradle`\n    - `detekt.yml` : Please create default config by `./gradlew detektGenerateConfig`\n    - `app/build.gradle`\n    - `app/keystores/debug.keystore` : Please get from local.\n    - `app/keystores/release.jks` : Please get or create.\n2. Set environment variable.\n    - `DANGER_GITHUB_API_TOKEN` : token for check bot\n    - `ANDROID_KEYSTORE_PASSWORD` : password for release keystore\n    - `ANDROID_KEYSTORE_ALIAS` : alias for release keystore\n    - `ANDROID_KEYSTORE_PRIVATE_KEY_PASSWORD` : alias's password for release keystore\n\n## Memo\n\n### Why integrate both of ktlint and detekt?\n\nI think, 2 tools check different points.\n\n- `ktlint` focus code style. (e.g. position of whitespace, naming rule.)\n- `detekt` focus code smell. (e.g. condition is too complex, equals is implemented by hashCode is not.)\n\n### Why configure ktlint and detekt in build.gradle directly?\n\nWe have [monstar-lab/gradle-android-ci-check](https://github.com/monstar-lab/gradle-android-ci-check).  \nWe need to improve that for kotlin setting.\n\nBut, currently, ktlint and detekt is developing very rapidly.  \nSo some interfaces may be changes.  \nSo now, configure in build.gradle directly.\n\n(In the future, we need improve `monstar-lab/gradle-android-ci-check`.)\n\n## Customize\n\nThis repository is targeting for very simple project.\n\nBut in real world, we need to work for complex project.\n\nWe have some advice for customizing configuration in [Wiki](https://github.com/monstar-lab/sample-android-kotlin/wiki).\nPlease refer to it.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmonstar-lab%2Fsample-android-kotlin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmonstar-lab%2Fsample-android-kotlin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmonstar-lab%2Fsample-android-kotlin/lists"}