Factory.ai

Strong Dev Environment

Keystone reaches Level 3 with 100% Dev Environment pass rate. Currently becoming autonomous-capable with 28/58 criteria passing (48%). Key areas for improvement include the opportunities listed below.

Strengths

01
Dev Environment (100%)
Includes Database Schema, Devcontainer, Env Template.
02
Formatter
Prettier configured with .prettierrc.json defining code formatting rules
03
Lint Config
ESLint configured with typescript-eslint strict config in eslint.config.mjs

Opportunities

01
Cyclomatic Complexity
Add complexity analysis to identify and refactor overly complex functions.
02
Feature Flag Infrastructure
Add feature flags to enable safer deployments and gradual rollouts.
03
Monorepo Tooling
Consider Turborepo or Nx for better caching, incremental builds, and dependency graph awareness.

All Criteria

Style & Validation4/11 (36%)
code_modularizationSkipped - monorepo with clear package boundaries via pnpm workspaces, boundaries are organizational not enforced
cyclomatic_complexityNo complexity rules configured in ESLint. No evidence of complexity analysis tooling.
dead_code_detectionESLint no-unused-vars rule is explicitly disabled. No knip, ts-prune, or similar tools configured.
duplicate_code_detectionNo jscpd, PMD CPD, or similar duplicate code detection tools found in CI or pre-commit
formatterPrettier configured with .prettierrc.json defining code formatting rules
large_file_detectionNo git hooks, CI jobs, or linter rules checking file size/line count found
lint_configESLint configured with typescript-eslint strict config in eslint.config.mjs
n_plus_one_detectionSkipped - framework/library repository, not an application with database/ORM usage patterns to detect
naming_consistencyNo @typescript-eslint/naming-convention rules or documented naming conventions found in ESLint config
pre_commit_hooksNo Husky, lint-staged, or .pre-commit-config.yaml found. Code quality checks only run in CI.
strict_typingTypeScript strict mode enabled in tsconfig.json with 'strict': true
tech_debt_trackingNo TODO/FIXME scanner, linter rules for tech debt comments, or SonarQube configuration found
type_checkTypeScript configured with 'strict': true in tsconfig.json
Build System8/12 (67%)
agentic_developmentNo agent co-authorship in recent 100 commits. No Factory/Claude agent workflows or config directories found.
automated_pr_reviewSkipped - gh CLI available but no evidence of automated review generation (Danger, AI bots) found
build_cmd_docREADME documents getting started. Package.json scripts include 'build' command clearly listed.
build_performance_trackingSkipped - no build caching, metrics export, or deliberate build optimization tracking found in CI
dead_feature_flag_detectionSkipped - prerequisite feature_flag_infrastructure not met, no feature flags to detect as stale
deployment_frequencyRegular releases via gh release list: 10 releases from Feb 2024 to May 2025, averaging 1-2 per month
deps_pinnedpnpm-lock.yaml committed, ensuring reproducible dependency installations
fast_ci_feedbackCI checks complete in ~2-3 minutes based on statusCheckRollup data from recent PRs, well under 10 min threshold
feature_flag_infrastructureNo LaunchDarkly, Statsig, Unleash, GrowthBook, or custom feature flag system found
heavy_dependency_detectionSkipped - backend library/framework, not a bundled frontend application requiring bundle size analysis
monorepo_toolingUses pnpm workspaces and preconstruct but lacks Turborepo/Nx/Lerna for managed builds and caching
progressive_rolloutSkipped - library/framework repo publishing to npm, not an infrastructure deployment with canary/percentage rollouts
release_automationChangesets + publish.yml workflow automates npm publishing on workflow_dispatch trigger
release_notes_automationChangesets configured (.changeset/ directory with config.json) for automated changelog and release notes generation
rollback_automationSkipped - library/framework repo, rollback via npm package versions handled by package managers, not infra-based
single_command_setupREADME documents setup via pnpm install. Devcontainer has postCreateCommand: pnpm install for automated setup.
unused_dependencies_detectionNo depcheck, npm-check, knip, or similar unused dependency detection tools configured
vcs_cli_toolsgh CLI authenticated and working, confirmed via 'gh auth status' returning success
version_drift_detectionSkipped - monorepo but no syncpack/manypkg for version drift detection, Renovate handles updates uniformly
Testing4/7 (57%)
flaky_test_detectionSkipped - no test retry config (jest-retry, pytest-rerunfailures) or flaky test tracking tools found
integration_tests_existNo Cypress or Playwright configuration found. Admin UI tests exist but are Jest-based, not E2E browser tests.
test_coverage_thresholdsJest coverage script exists but no coverageThreshold in config. No Codecov/Coveralls PR checks enforcing minimums.
test_isolationJest default parallel execution (not --runInBand). Vitest globals configured supporting isolated test runs.
test_naming_conventionsJest/Vitest configs imply .test.ts naming pattern, consistent across codebase with __tests__/ directories
test_performance_trackingNo test timing output flags, test analytics platforms, or evidence of test performance monitoring
unit_tests_existExtensive test suite with .test.ts files across packages, api-tests, admin-ui-tests directories
unit_tests_runnableTest scripts 'pnpm test' (Jest) and 'pnpm test:vitest' configured and runnable in package.json
Documentation3/6 (50%)
agents_mdNo AGENTS.md file found at repository root to document setup for AI agents
agents_md_validationSkipped - prerequisite agents_md not met, no AGENTS.md file to validate
api_schema_docsSkipped - GraphQL schema files exist but are example projects, not API docs for the framework itself
automated_doc_generationChangesets generates CHANGELOG.md files automatically. Documentation site exists (docs/) but manual content.
documentation_freshnessCONTRIBUTING.md was modified within last 180 days per git log check
readmeREADME.md exists with project description, usage documentation, and links to extended docs website
service_flow_documentedNo architecture diagrams (.mermaid, .puml) or service dependency documentation found in docs/
skillsNo skills directories (.factory/skills/, .skills/, .claude/skills/) found in repository
Dev Environment3/3 (100%)
database_schemaPrisma schema.prisma files exist throughout examples and test projects defining data models
devcontainer.devcontainer/devcontainer.json configured with Node.js image, Prisma, GraphQL extensions, and pnpm install
devcontainer_runnableSkipped - devcontainer CLI not available to verify container can be built and run successfully
env_template.env.example files exist in examples (docs, cloudinary, assets-s3) documenting required environment variables
local_services_setupSkipped - no docker-compose.yml for local dependencies. CI uses service containers for postgres in tests.
Debugging & Observability1/7 (14%)
alerting_configuredNo PagerDuty, OpsGenie, or custom alerting rules found in documentation or code
circuit_breakersSkipped - library/framework without external service dependencies requiring circuit breaker patterns
code_quality_metricsSkipped - no code scanning, coverage bots in PR comments, or SonarQube/quality gate enforcement found
deployment_observabilityNo monitoring dashboard links (Datadog, Grafana) or deployment notification integrations found in docs
distributed_tracingOpenTelemetry configured in logging-opentelemetry example for trace ID propagation
error_tracking_contextualizedNo Sentry, Bugsnag, or Rollbar configuration found for error tracking with source maps and context
health_checksSkipped - library/framework, not a deployed service requiring /health endpoints or liveness probes
metrics_collectionNo metrics/telemetry libraries (Datadog, Prometheus, New Relic) found in dependencies
profiling_instrumentationSkipped - library/framework where profiling is for users' applications, not the framework itself
runbooks_documentedNo runbooks/ directory or links to incident response procedures in README, AGENTS.md, or docs/
structured_loggingNo structured logging library (winston, pino, bunyan) in root package.json. Logging example uses OpenTelemetry.
Security4/6 (67%)
automated_security_reviewSkipped - Socket Security check in CI is dependency scanning, not security review generation. No SAST reports found.
branch_protectionRequires GitHub admin API access to verify branch protection rules (skipped).
codeownersCODEOWNERS file exists at .github/workflows/CODEOWNERS with team assignments (dcousens, mitchellhamilton)
dast_scanningSkipped - library/framework not deployed as web service requiring OWASP ZAP or dynamic security testing
dependency_update_automationRenovate configured (renovate.json) with scheduled dependency updates and PR creation
gitignore_comprehensive.gitignore properly excludes .env, node_modules, dist, .DS_Store, and .keystone build artifacts
log_scrubbingNo log sanitization/scrubbing mechanisms configured or documented in logging utilities
pii_handlingSkipped - framework/library doesn't process user data directly, PII handling is responsibility of applications built with it
privacy_complianceSkipped - framework without end-user data collection, privacy compliance applies to applications using Keystone
secret_scanningSkipped - gh api secret-scanning/alerts returns 404, feature not enabled. No gitleaks/trufflehog in CI.
secrets_management.env properly gitignored, .env.example templates provided, GitHub Actions uses secrets.* references in workflows
Task Discovery1/4 (25%)
backlog_healthMost open issues lack labels. Many old issues (>1 year) with no activity. Only ~6% have labels vs 70% threshold.
issue_labeling_systemPoor labeling: only 3 of 50 open issues have labels. No consistent priority/type/area label taxonomy.
issue_templates.github/ISSUE_TEMPLATE/ directory exists with bug report template (1.Bug_report.md)
pr_templatesNo .github/pull_request_template.md or GitLab merge request templates found
Product & Analytics0/2 (0%)
error_to_insight_pipelineNo Sentry-GitHub integration or error-to-issue automation found in workflows or configurations
product_analytics_instrumentationNo Mixpanel, Amplitude, PostHog, Heap, or GA4 instrumentation found in dependencies

start building

Ready to build the software of the future?

Start building

Arrow Right Icon