solokit 0.1.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- solokit/__init__.py +10 -0
- solokit/__version__.py +3 -0
- solokit/cli.py +374 -0
- solokit/core/__init__.py +1 -0
- solokit/core/cache.py +102 -0
- solokit/core/command_runner.py +278 -0
- solokit/core/config.py +453 -0
- solokit/core/config_validator.py +204 -0
- solokit/core/constants.py +291 -0
- solokit/core/error_formatter.py +279 -0
- solokit/core/error_handlers.py +346 -0
- solokit/core/exceptions.py +1567 -0
- solokit/core/file_ops.py +309 -0
- solokit/core/logging_config.py +166 -0
- solokit/core/output.py +99 -0
- solokit/core/performance.py +57 -0
- solokit/core/protocols.py +141 -0
- solokit/core/types.py +312 -0
- solokit/deployment/__init__.py +1 -0
- solokit/deployment/executor.py +411 -0
- solokit/git/__init__.py +1 -0
- solokit/git/integration.py +619 -0
- solokit/init/__init__.py +41 -0
- solokit/init/claude_commands_installer.py +87 -0
- solokit/init/dependency_installer.py +313 -0
- solokit/init/docs_structure.py +90 -0
- solokit/init/env_generator.py +160 -0
- solokit/init/environment_validator.py +334 -0
- solokit/init/git_hooks_installer.py +71 -0
- solokit/init/git_setup.py +188 -0
- solokit/init/gitignore_updater.py +195 -0
- solokit/init/initial_commit.py +145 -0
- solokit/init/initial_scans.py +109 -0
- solokit/init/orchestrator.py +246 -0
- solokit/init/readme_generator.py +207 -0
- solokit/init/session_structure.py +239 -0
- solokit/init/template_installer.py +424 -0
- solokit/learning/__init__.py +1 -0
- solokit/learning/archiver.py +115 -0
- solokit/learning/categorizer.py +126 -0
- solokit/learning/curator.py +428 -0
- solokit/learning/extractor.py +352 -0
- solokit/learning/reporter.py +351 -0
- solokit/learning/repository.py +254 -0
- solokit/learning/similarity.py +342 -0
- solokit/learning/validator.py +144 -0
- solokit/project/__init__.py +1 -0
- solokit/project/init.py +1162 -0
- solokit/project/stack.py +436 -0
- solokit/project/sync_plugin.py +438 -0
- solokit/project/tree.py +375 -0
- solokit/quality/__init__.py +1 -0
- solokit/quality/api_validator.py +424 -0
- solokit/quality/checkers/__init__.py +25 -0
- solokit/quality/checkers/base.py +114 -0
- solokit/quality/checkers/context7.py +221 -0
- solokit/quality/checkers/custom.py +162 -0
- solokit/quality/checkers/deployment.py +323 -0
- solokit/quality/checkers/documentation.py +179 -0
- solokit/quality/checkers/formatting.py +161 -0
- solokit/quality/checkers/integration.py +394 -0
- solokit/quality/checkers/linting.py +159 -0
- solokit/quality/checkers/security.py +261 -0
- solokit/quality/checkers/spec_completeness.py +127 -0
- solokit/quality/checkers/tests.py +184 -0
- solokit/quality/env_validator.py +306 -0
- solokit/quality/gates.py +655 -0
- solokit/quality/reporters/__init__.py +10 -0
- solokit/quality/reporters/base.py +25 -0
- solokit/quality/reporters/console.py +98 -0
- solokit/quality/reporters/json_reporter.py +34 -0
- solokit/quality/results.py +98 -0
- solokit/session/__init__.py +1 -0
- solokit/session/briefing/__init__.py +245 -0
- solokit/session/briefing/documentation_loader.py +53 -0
- solokit/session/briefing/formatter.py +476 -0
- solokit/session/briefing/git_context.py +282 -0
- solokit/session/briefing/learning_loader.py +212 -0
- solokit/session/briefing/milestone_builder.py +78 -0
- solokit/session/briefing/orchestrator.py +137 -0
- solokit/session/briefing/stack_detector.py +51 -0
- solokit/session/briefing/tree_generator.py +52 -0
- solokit/session/briefing/work_item_loader.py +209 -0
- solokit/session/briefing.py +353 -0
- solokit/session/complete.py +1188 -0
- solokit/session/status.py +246 -0
- solokit/session/validate.py +452 -0
- solokit/templates/.claude/commands/end.md +109 -0
- solokit/templates/.claude/commands/init.md +159 -0
- solokit/templates/.claude/commands/learn-curate.md +88 -0
- solokit/templates/.claude/commands/learn-search.md +62 -0
- solokit/templates/.claude/commands/learn-show.md +69 -0
- solokit/templates/.claude/commands/learn.md +136 -0
- solokit/templates/.claude/commands/start.md +114 -0
- solokit/templates/.claude/commands/status.md +22 -0
- solokit/templates/.claude/commands/validate.md +27 -0
- solokit/templates/.claude/commands/work-delete.md +119 -0
- solokit/templates/.claude/commands/work-graph.md +139 -0
- solokit/templates/.claude/commands/work-list.md +26 -0
- solokit/templates/.claude/commands/work-new.md +114 -0
- solokit/templates/.claude/commands/work-next.md +25 -0
- solokit/templates/.claude/commands/work-show.md +24 -0
- solokit/templates/.claude/commands/work-update.md +141 -0
- solokit/templates/CHANGELOG.md +17 -0
- solokit/templates/WORK_ITEM_TYPES.md +141 -0
- solokit/templates/__init__.py +1 -0
- solokit/templates/bug_spec.md +217 -0
- solokit/templates/config.schema.json +150 -0
- solokit/templates/dashboard_refine/base/.gitignore +36 -0
- solokit/templates/dashboard_refine/base/app/(dashboard)/layout.tsx +22 -0
- solokit/templates/dashboard_refine/base/app/(dashboard)/page.tsx +68 -0
- solokit/templates/dashboard_refine/base/app/(dashboard)/users/page.tsx +77 -0
- solokit/templates/dashboard_refine/base/app/globals.css +60 -0
- solokit/templates/dashboard_refine/base/app/layout.tsx +23 -0
- solokit/templates/dashboard_refine/base/app/page.tsx +9 -0
- solokit/templates/dashboard_refine/base/components/client-refine-wrapper.tsx +21 -0
- solokit/templates/dashboard_refine/base/components/layout/header.tsx +44 -0
- solokit/templates/dashboard_refine/base/components/layout/sidebar.tsx +82 -0
- solokit/templates/dashboard_refine/base/components/ui/button.tsx +53 -0
- solokit/templates/dashboard_refine/base/components/ui/card.tsx +78 -0
- solokit/templates/dashboard_refine/base/components/ui/table.tsx +116 -0
- solokit/templates/dashboard_refine/base/components.json +16 -0
- solokit/templates/dashboard_refine/base/lib/refine.tsx +65 -0
- solokit/templates/dashboard_refine/base/lib/utils.ts +13 -0
- solokit/templates/dashboard_refine/base/next.config.ts +10 -0
- solokit/templates/dashboard_refine/base/package.json.template +40 -0
- solokit/templates/dashboard_refine/base/postcss.config.mjs +8 -0
- solokit/templates/dashboard_refine/base/providers/refine-provider.tsx +26 -0
- solokit/templates/dashboard_refine/base/tailwind.config.ts +57 -0
- solokit/templates/dashboard_refine/base/tsconfig.json +27 -0
- solokit/templates/dashboard_refine/docker/Dockerfile +57 -0
- solokit/templates/dashboard_refine/docker/docker-compose.prod.yml +31 -0
- solokit/templates/dashboard_refine/docker/docker-compose.yml +21 -0
- solokit/templates/dashboard_refine/tier-1-essential/.eslintrc.json +7 -0
- solokit/templates/dashboard_refine/tier-1-essential/jest.config.ts +17 -0
- solokit/templates/dashboard_refine/tier-1-essential/jest.setup.ts +1 -0
- solokit/templates/dashboard_refine/tier-1-essential/package.json.tier1.template +57 -0
- solokit/templates/dashboard_refine/tier-1-essential/tests/setup.ts +26 -0
- solokit/templates/dashboard_refine/tier-1-essential/tests/unit/example.test.tsx +73 -0
- solokit/templates/dashboard_refine/tier-2-standard/package.json.tier2.template +62 -0
- solokit/templates/dashboard_refine/tier-3-comprehensive/eslint.config.mjs +22 -0
- solokit/templates/dashboard_refine/tier-3-comprehensive/package.json.tier3.template +79 -0
- solokit/templates/dashboard_refine/tier-3-comprehensive/playwright.config.ts +66 -0
- solokit/templates/dashboard_refine/tier-3-comprehensive/stryker.conf.json +38 -0
- solokit/templates/dashboard_refine/tier-3-comprehensive/tests/e2e/dashboard.spec.ts +88 -0
- solokit/templates/dashboard_refine/tier-3-comprehensive/tests/e2e/user-management.spec.ts +102 -0
- solokit/templates/dashboard_refine/tier-3-comprehensive/tests/integration/dashboard.test.tsx +90 -0
- solokit/templates/dashboard_refine/tier-3-comprehensive/type-coverage.json +16 -0
- solokit/templates/dashboard_refine/tier-4-production/instrumentation.ts +9 -0
- solokit/templates/dashboard_refine/tier-4-production/k6/dashboard-load-test.js +70 -0
- solokit/templates/dashboard_refine/tier-4-production/next.config.ts +46 -0
- solokit/templates/dashboard_refine/tier-4-production/package.json.tier4.template +89 -0
- solokit/templates/dashboard_refine/tier-4-production/sentry.client.config.ts +26 -0
- solokit/templates/dashboard_refine/tier-4-production/sentry.edge.config.ts +11 -0
- solokit/templates/dashboard_refine/tier-4-production/sentry.server.config.ts +11 -0
- solokit/templates/deployment_spec.md +500 -0
- solokit/templates/feature_spec.md +248 -0
- solokit/templates/fullstack_nextjs/base/.gitignore +36 -0
- solokit/templates/fullstack_nextjs/base/app/api/example/route.ts +65 -0
- solokit/templates/fullstack_nextjs/base/app/globals.css +27 -0
- solokit/templates/fullstack_nextjs/base/app/layout.tsx +20 -0
- solokit/templates/fullstack_nextjs/base/app/page.tsx +32 -0
- solokit/templates/fullstack_nextjs/base/components/example-component.tsx +20 -0
- solokit/templates/fullstack_nextjs/base/lib/prisma.ts +17 -0
- solokit/templates/fullstack_nextjs/base/lib/utils.ts +13 -0
- solokit/templates/fullstack_nextjs/base/lib/validations.ts +20 -0
- solokit/templates/fullstack_nextjs/base/next.config.ts +7 -0
- solokit/templates/fullstack_nextjs/base/package.json.template +32 -0
- solokit/templates/fullstack_nextjs/base/postcss.config.mjs +8 -0
- solokit/templates/fullstack_nextjs/base/prisma/schema.prisma +21 -0
- solokit/templates/fullstack_nextjs/base/tailwind.config.ts +19 -0
- solokit/templates/fullstack_nextjs/base/tsconfig.json +27 -0
- solokit/templates/fullstack_nextjs/docker/Dockerfile +60 -0
- solokit/templates/fullstack_nextjs/docker/docker-compose.prod.yml +57 -0
- solokit/templates/fullstack_nextjs/docker/docker-compose.yml +47 -0
- solokit/templates/fullstack_nextjs/tier-1-essential/.eslintrc.json +7 -0
- solokit/templates/fullstack_nextjs/tier-1-essential/jest.config.ts +17 -0
- solokit/templates/fullstack_nextjs/tier-1-essential/jest.setup.ts +1 -0
- solokit/templates/fullstack_nextjs/tier-1-essential/package.json.tier1.template +48 -0
- solokit/templates/fullstack_nextjs/tier-1-essential/tests/api/example.test.ts +88 -0
- solokit/templates/fullstack_nextjs/tier-1-essential/tests/setup.ts +22 -0
- solokit/templates/fullstack_nextjs/tier-1-essential/tests/unit/example.test.tsx +22 -0
- solokit/templates/fullstack_nextjs/tier-2-standard/package.json.tier2.template +52 -0
- solokit/templates/fullstack_nextjs/tier-3-comprehensive/eslint.config.mjs +39 -0
- solokit/templates/fullstack_nextjs/tier-3-comprehensive/package.json.tier3.template +68 -0
- solokit/templates/fullstack_nextjs/tier-3-comprehensive/playwright.config.ts +66 -0
- solokit/templates/fullstack_nextjs/tier-3-comprehensive/stryker.conf.json +33 -0
- solokit/templates/fullstack_nextjs/tier-3-comprehensive/tests/e2e/flow.spec.ts +59 -0
- solokit/templates/fullstack_nextjs/tier-3-comprehensive/tests/integration/api.test.ts +165 -0
- solokit/templates/fullstack_nextjs/tier-3-comprehensive/type-coverage.json +12 -0
- solokit/templates/fullstack_nextjs/tier-4-production/instrumentation.ts +9 -0
- solokit/templates/fullstack_nextjs/tier-4-production/k6/load-test.js +45 -0
- solokit/templates/fullstack_nextjs/tier-4-production/next.config.ts +46 -0
- solokit/templates/fullstack_nextjs/tier-4-production/package.json.tier4.template +77 -0
- solokit/templates/fullstack_nextjs/tier-4-production/sentry.client.config.ts +26 -0
- solokit/templates/fullstack_nextjs/tier-4-production/sentry.edge.config.ts +11 -0
- solokit/templates/fullstack_nextjs/tier-4-production/sentry.server.config.ts +11 -0
- solokit/templates/git-hooks/prepare-commit-msg +24 -0
- solokit/templates/integration_test_spec.md +363 -0
- solokit/templates/learnings.json +15 -0
- solokit/templates/ml_ai_fastapi/base/.gitignore +104 -0
- solokit/templates/ml_ai_fastapi/base/alembic/env.py +96 -0
- solokit/templates/ml_ai_fastapi/base/alembic.ini +114 -0
- solokit/templates/ml_ai_fastapi/base/pyproject.toml.template +91 -0
- solokit/templates/ml_ai_fastapi/base/requirements.txt.template +28 -0
- solokit/templates/ml_ai_fastapi/base/src/__init__.py +5 -0
- solokit/templates/ml_ai_fastapi/base/src/api/__init__.py +3 -0
- solokit/templates/ml_ai_fastapi/base/src/api/dependencies.py +20 -0
- solokit/templates/ml_ai_fastapi/base/src/api/routes/__init__.py +3 -0
- solokit/templates/ml_ai_fastapi/base/src/api/routes/example.py +134 -0
- solokit/templates/ml_ai_fastapi/base/src/api/routes/health.py +66 -0
- solokit/templates/ml_ai_fastapi/base/src/core/__init__.py +3 -0
- solokit/templates/ml_ai_fastapi/base/src/core/config.py +64 -0
- solokit/templates/ml_ai_fastapi/base/src/core/database.py +50 -0
- solokit/templates/ml_ai_fastapi/base/src/main.py +64 -0
- solokit/templates/ml_ai_fastapi/base/src/models/__init__.py +7 -0
- solokit/templates/ml_ai_fastapi/base/src/models/example.py +61 -0
- solokit/templates/ml_ai_fastapi/base/src/services/__init__.py +3 -0
- solokit/templates/ml_ai_fastapi/base/src/services/example.py +115 -0
- solokit/templates/ml_ai_fastapi/docker/Dockerfile +59 -0
- solokit/templates/ml_ai_fastapi/docker/docker-compose.prod.yml +112 -0
- solokit/templates/ml_ai_fastapi/docker/docker-compose.yml +77 -0
- solokit/templates/ml_ai_fastapi/tier-1-essential/pyproject.toml.tier1.template +112 -0
- solokit/templates/ml_ai_fastapi/tier-1-essential/pyrightconfig.json +41 -0
- solokit/templates/ml_ai_fastapi/tier-1-essential/pytest.ini +69 -0
- solokit/templates/ml_ai_fastapi/tier-1-essential/requirements-dev.txt +17 -0
- solokit/templates/ml_ai_fastapi/tier-1-essential/ruff.toml +81 -0
- solokit/templates/ml_ai_fastapi/tier-1-essential/tests/__init__.py +3 -0
- solokit/templates/ml_ai_fastapi/tier-1-essential/tests/conftest.py +72 -0
- solokit/templates/ml_ai_fastapi/tier-1-essential/tests/test_main.py +49 -0
- solokit/templates/ml_ai_fastapi/tier-1-essential/tests/unit/__init__.py +3 -0
- solokit/templates/ml_ai_fastapi/tier-1-essential/tests/unit/test_example.py +113 -0
- solokit/templates/ml_ai_fastapi/tier-2-standard/pyproject.toml.tier2.template +130 -0
- solokit/templates/ml_ai_fastapi/tier-3-comprehensive/locustfile.py +99 -0
- solokit/templates/ml_ai_fastapi/tier-3-comprehensive/mutmut_config.py +53 -0
- solokit/templates/ml_ai_fastapi/tier-3-comprehensive/pyproject.toml.tier3.template +150 -0
- solokit/templates/ml_ai_fastapi/tier-3-comprehensive/tests/integration/__init__.py +3 -0
- solokit/templates/ml_ai_fastapi/tier-3-comprehensive/tests/integration/conftest.py +74 -0
- solokit/templates/ml_ai_fastapi/tier-3-comprehensive/tests/integration/test_api.py +131 -0
- solokit/templates/ml_ai_fastapi/tier-4-production/pyproject.toml.tier4.template +162 -0
- solokit/templates/ml_ai_fastapi/tier-4-production/requirements-prod.txt +25 -0
- solokit/templates/ml_ai_fastapi/tier-4-production/src/api/routes/metrics.py +19 -0
- solokit/templates/ml_ai_fastapi/tier-4-production/src/core/logging.py +74 -0
- solokit/templates/ml_ai_fastapi/tier-4-production/src/core/monitoring.py +68 -0
- solokit/templates/ml_ai_fastapi/tier-4-production/src/core/sentry.py +66 -0
- solokit/templates/ml_ai_fastapi/tier-4-production/src/middleware/__init__.py +3 -0
- solokit/templates/ml_ai_fastapi/tier-4-production/src/middleware/logging.py +79 -0
- solokit/templates/ml_ai_fastapi/tier-4-production/src/middleware/tracing.py +60 -0
- solokit/templates/refactor_spec.md +287 -0
- solokit/templates/saas_t3/base/.gitignore +36 -0
- solokit/templates/saas_t3/base/app/api/trpc/[trpc]/route.ts +33 -0
- solokit/templates/saas_t3/base/app/globals.css +27 -0
- solokit/templates/saas_t3/base/app/layout.tsx +23 -0
- solokit/templates/saas_t3/base/app/page.tsx +31 -0
- solokit/templates/saas_t3/base/lib/api.tsx +77 -0
- solokit/templates/saas_t3/base/lib/utils.ts +13 -0
- solokit/templates/saas_t3/base/next.config.ts +7 -0
- solokit/templates/saas_t3/base/package.json.template +38 -0
- solokit/templates/saas_t3/base/postcss.config.mjs +8 -0
- solokit/templates/saas_t3/base/prisma/schema.prisma +20 -0
- solokit/templates/saas_t3/base/server/api/root.ts +19 -0
- solokit/templates/saas_t3/base/server/api/routers/example.ts +28 -0
- solokit/templates/saas_t3/base/server/api/trpc.ts +52 -0
- solokit/templates/saas_t3/base/server/db.ts +17 -0
- solokit/templates/saas_t3/base/tailwind.config.ts +19 -0
- solokit/templates/saas_t3/base/tsconfig.json +27 -0
- solokit/templates/saas_t3/docker/Dockerfile +60 -0
- solokit/templates/saas_t3/docker/docker-compose.prod.yml +59 -0
- solokit/templates/saas_t3/docker/docker-compose.yml +49 -0
- solokit/templates/saas_t3/tier-1-essential/.eslintrc.json +7 -0
- solokit/templates/saas_t3/tier-1-essential/jest.config.ts +17 -0
- solokit/templates/saas_t3/tier-1-essential/jest.setup.ts +1 -0
- solokit/templates/saas_t3/tier-1-essential/package.json.tier1.template +54 -0
- solokit/templates/saas_t3/tier-1-essential/tests/setup.ts +22 -0
- solokit/templates/saas_t3/tier-1-essential/tests/unit/example.test.tsx +24 -0
- solokit/templates/saas_t3/tier-2-standard/package.json.tier2.template +58 -0
- solokit/templates/saas_t3/tier-3-comprehensive/eslint.config.mjs +39 -0
- solokit/templates/saas_t3/tier-3-comprehensive/package.json.tier3.template +74 -0
- solokit/templates/saas_t3/tier-3-comprehensive/playwright.config.ts +66 -0
- solokit/templates/saas_t3/tier-3-comprehensive/stryker.conf.json +34 -0
- solokit/templates/saas_t3/tier-3-comprehensive/tests/e2e/home.spec.ts +41 -0
- solokit/templates/saas_t3/tier-3-comprehensive/tests/integration/api.test.ts +44 -0
- solokit/templates/saas_t3/tier-3-comprehensive/type-coverage.json +12 -0
- solokit/templates/saas_t3/tier-4-production/instrumentation.ts +9 -0
- solokit/templates/saas_t3/tier-4-production/k6/load-test.js +51 -0
- solokit/templates/saas_t3/tier-4-production/next.config.ts +46 -0
- solokit/templates/saas_t3/tier-4-production/package.json.tier4.template +83 -0
- solokit/templates/saas_t3/tier-4-production/sentry.client.config.ts +26 -0
- solokit/templates/saas_t3/tier-4-production/sentry.edge.config.ts +11 -0
- solokit/templates/saas_t3/tier-4-production/sentry.server.config.ts +11 -0
- solokit/templates/saas_t3/tier-4-production/vercel.json +37 -0
- solokit/templates/security_spec.md +287 -0
- solokit/templates/stack-versions.yaml +617 -0
- solokit/templates/status_update.json +6 -0
- solokit/templates/template-registry.json +257 -0
- solokit/templates/work_items.json +11 -0
- solokit/testing/__init__.py +1 -0
- solokit/testing/integration_runner.py +550 -0
- solokit/testing/performance.py +637 -0
- solokit/visualization/__init__.py +1 -0
- solokit/visualization/dependency_graph.py +788 -0
- solokit/work_items/__init__.py +1 -0
- solokit/work_items/creator.py +217 -0
- solokit/work_items/delete.py +264 -0
- solokit/work_items/get_dependencies.py +185 -0
- solokit/work_items/get_dependents.py +113 -0
- solokit/work_items/get_metadata.py +121 -0
- solokit/work_items/get_next_recommendations.py +133 -0
- solokit/work_items/manager.py +235 -0
- solokit/work_items/milestones.py +137 -0
- solokit/work_items/query.py +376 -0
- solokit/work_items/repository.py +267 -0
- solokit/work_items/scheduler.py +184 -0
- solokit/work_items/spec_parser.py +838 -0
- solokit/work_items/spec_validator.py +493 -0
- solokit/work_items/updater.py +157 -0
- solokit/work_items/validator.py +205 -0
- solokit-0.1.1.dist-info/METADATA +640 -0
- solokit-0.1.1.dist-info/RECORD +323 -0
- solokit-0.1.1.dist-info/WHEEL +5 -0
- solokit-0.1.1.dist-info/entry_points.txt +2 -0
- solokit-0.1.1.dist-info/licenses/LICENSE +21 -0
- solokit-0.1.1.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,640 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: solokit
|
|
3
|
+
Version: 0.1.1
|
|
4
|
+
Summary: Solokit - Structured Solo Development with AI and Quality Automation
|
|
5
|
+
Author: Solokit Contributors
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/ankushdixit/solokit
|
|
8
|
+
Project-URL: Documentation, https://github.com/ankushdixit/solokit/blob/main/README.md
|
|
9
|
+
Project-URL: Repository, https://github.com/ankushdixit/solokit
|
|
10
|
+
Project-URL: Issues, https://github.com/ankushdixit/solokit/issues
|
|
11
|
+
Project-URL: Changelog, https://github.com/ankushdixit/solokit/blob/main/CHANGELOG.md
|
|
12
|
+
Keywords: solo-development,ai-native,workflow,quality-automation,productivity,ai-assistant,claude-code
|
|
13
|
+
Classifier: Development Status :: 4 - Beta
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
16
|
+
Classifier: Programming Language :: Python :: 3
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
21
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
22
|
+
Classifier: Topic :: Software Development :: Quality Assurance
|
|
23
|
+
Classifier: Topic :: Software Development :: Testing
|
|
24
|
+
Requires-Python: >=3.9
|
|
25
|
+
Description-Content-Type: text/markdown
|
|
26
|
+
License-File: LICENSE
|
|
27
|
+
Provides-Extra: test
|
|
28
|
+
Requires-Dist: pytest<8.0.0,>=7.4.3; extra == "test"
|
|
29
|
+
Requires-Dist: pytest-cov<5.0.0,>=4.1.0; extra == "test"
|
|
30
|
+
Provides-Extra: quality
|
|
31
|
+
Requires-Dist: ruff<0.2.0,>=0.1.6; extra == "quality"
|
|
32
|
+
Requires-Dist: bandit<2.0.0,>=1.7.5; extra == "quality"
|
|
33
|
+
Requires-Dist: safety<3.0.0,>=2.3.5; extra == "quality"
|
|
34
|
+
Requires-Dist: mypy<2.0.0,>=1.8.0; extra == "quality"
|
|
35
|
+
Requires-Dist: types-PyYAML<7.0.0,>=6.0.0; extra == "quality"
|
|
36
|
+
Provides-Extra: viz
|
|
37
|
+
Requires-Dist: graphviz<0.21.0,>=0.20.1; extra == "viz"
|
|
38
|
+
Provides-Extra: dev
|
|
39
|
+
Requires-Dist: solokit[quality,test,viz]; extra == "dev"
|
|
40
|
+
Dynamic: license-file
|
|
41
|
+
|
|
42
|
+
# Solokit
|
|
43
|
+
|
|
44
|
+
[](https://pypi.org/project/solokit/)
|
|
45
|
+
[](https://github.com/ankushdixit/solokit/actions?query=workflow%3ATests)
|
|
46
|
+
[](https://www.python.org/downloads/)
|
|
47
|
+
[](LICENSE)
|
|
48
|
+
[](https://github.com/ankushdixit/solokit)
|
|
49
|
+
|
|
50
|
+
**Build production software alone with team-level sophistication.**
|
|
51
|
+
|
|
52
|
+
> Structured Solo Development with AI and Quality Automation for Claude Code
|
|
53
|
+
|
|
54
|
+
## What is Solokit?
|
|
55
|
+
|
|
56
|
+
**Solokit is a complete development framework for solo developers building production software with AI assistants like Claude Code.** It combines production-ready project templates, automated quality gates, intelligent session management, and AI-powered knowledge capture into a cohesive workflow that enables you to build alone with the sophistication of a 10-person engineering team.
|
|
57
|
+
|
|
58
|
+
### The Core Problem
|
|
59
|
+
|
|
60
|
+
Solo developers using AI assistants face critical challenges:
|
|
61
|
+
- **Setup Time Waste** - Spending hours configuring frameworks, linters, tests, CI/CD
|
|
62
|
+
- **Context Loss** - AI forgets previous work between sessions
|
|
63
|
+
- **Quality Entropy** - Standards slip without enforcement
|
|
64
|
+
- **Knowledge Fragmentation** - Learnings and decisions get lost
|
|
65
|
+
- **Lack of Process** - No systematic workflow for complex projects
|
|
66
|
+
|
|
67
|
+
### The Solokit Solution
|
|
68
|
+
|
|
69
|
+
**🚀 Production-Ready in <1 Minute**
|
|
70
|
+
- 4 validated project templates (T3 Stack, FastAPI, Refine, Next.js)
|
|
71
|
+
- 4 quality tiers (Essential → Production-Ready)
|
|
72
|
+
- All dependencies version-pinned and compatibility-tested
|
|
73
|
+
- CI/CD, Docker, pre-commit hooks included
|
|
74
|
+
|
|
75
|
+
**✨ Perfect Context Continuity**
|
|
76
|
+
- Comprehensive AI briefings restore full project state
|
|
77
|
+
- Spec-first architecture with complete implementation details
|
|
78
|
+
- Previous work context for multi-session features
|
|
79
|
+
- Dependency-aware workflow recommendations
|
|
80
|
+
|
|
81
|
+
**🛡️ Zero-Compromise Quality**
|
|
82
|
+
- Automated gates: tests, linting, formatting, security
|
|
83
|
+
- Coverage thresholds, mutation testing, E2E tests
|
|
84
|
+
- Performance monitoring, error tracking (tier 4)
|
|
85
|
+
- Spec validation before and after sessions
|
|
86
|
+
|
|
87
|
+
**🧠 Knowledge That Grows**
|
|
88
|
+
- AI-powered learning categorization (6 categories)
|
|
89
|
+
- Automatic extraction from commits and code comments
|
|
90
|
+
- Smart deduplication and similarity detection
|
|
91
|
+
- Searchable, filterable knowledge base
|
|
92
|
+
|
|
93
|
+
## Quick Start
|
|
94
|
+
|
|
95
|
+
### 1. Install Solokit
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
pip install solokit
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### 2. Initialize Your Project
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
sk init
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Choose from **4 production-ready stacks**:
|
|
108
|
+
- **SaaS T3 Stack** - Next.js + tRPC + Prisma (full-stack SaaS)
|
|
109
|
+
- **ML/AI FastAPI** - FastAPI + Python ML libraries (model serving, data pipelines)
|
|
110
|
+
- **Dashboard Refine** - Refine + shadcn/ui (admin panels, internal tools)
|
|
111
|
+
- **Full-Stack Next.js** - Next.js + Prisma (general purpose web apps)
|
|
112
|
+
|
|
113
|
+
Select your **quality tier**:
|
|
114
|
+
- **Essential** (60-80% coverage) - Prototypes, MVPs
|
|
115
|
+
- **Standard** (80% coverage + security) - Production apps
|
|
116
|
+
- **Comprehensive** (90% coverage + E2E + mutation) - Mission-critical
|
|
117
|
+
- **Production-Ready** (+ monitoring + observability) - Enterprise-grade
|
|
118
|
+
|
|
119
|
+
Options: CI/CD workflows, Docker support, pre-commit hooks, environment templates
|
|
120
|
+
|
|
121
|
+
### 3. Start Building
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
# Create your first work item
|
|
125
|
+
sk work-new
|
|
126
|
+
|
|
127
|
+
# Start a development session
|
|
128
|
+
sk start
|
|
129
|
+
|
|
130
|
+
# Claude receives a comprehensive briefing with:
|
|
131
|
+
# - Complete work item specification
|
|
132
|
+
# - Project documentation and context
|
|
133
|
+
# - Technology stack and file structure
|
|
134
|
+
# - Related learnings from past sessions
|
|
135
|
+
# - Dependency information
|
|
136
|
+
|
|
137
|
+
# Work with Claude...
|
|
138
|
+
|
|
139
|
+
# End session with automated quality gates
|
|
140
|
+
sk end
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
**That's it!** You now have:
|
|
144
|
+
- ✅ Production-ready project setup
|
|
145
|
+
- ✅ Automated quality enforcement
|
|
146
|
+
- ✅ Perfect AI context continuity
|
|
147
|
+
- ✅ Growing knowledge base
|
|
148
|
+
|
|
149
|
+
## Key Features
|
|
150
|
+
|
|
151
|
+
### 🎯 Production-Ready Templates
|
|
152
|
+
|
|
153
|
+
Initialize projects with battle-tested configurations:
|
|
154
|
+
|
|
155
|
+
**SaaS T3 Stack** (`saas_t3`)
|
|
156
|
+
- Next.js 16.0.1, React 19.2.0, tRPC 11.7.1, Prisma 6.19.0
|
|
157
|
+
- End-to-end type safety from database to UI
|
|
158
|
+
- Perfect for: SaaS products, B2B apps, complex data models
|
|
159
|
+
|
|
160
|
+
**ML/AI FastAPI** (`ml_ai_fastapi`)
|
|
161
|
+
- FastAPI 0.115.6, Python 3.11+, SQLModel, Pydantic 2.12.4
|
|
162
|
+
- Async request handling, automatic OpenAPI docs
|
|
163
|
+
- Perfect for: ML model serving, data pipelines, Python microservices
|
|
164
|
+
|
|
165
|
+
**Dashboard Refine** (`dashboard_refine`)
|
|
166
|
+
- Refine 5.0.5, Next.js 16.0.1, shadcn/ui
|
|
167
|
+
- Out-of-the-box CRUD operations and admin UI
|
|
168
|
+
- Perfect for: Admin panels, internal dashboards, data management
|
|
169
|
+
|
|
170
|
+
**Full-Stack Next.js** (`fullstack_nextjs`)
|
|
171
|
+
- Next.js 16.0.1, React 19.2.0, Prisma 6.19.0
|
|
172
|
+
- General purpose with REST APIs
|
|
173
|
+
- Perfect for: Marketing sites, content platforms, e-commerce
|
|
174
|
+
|
|
175
|
+
**All templates include:**
|
|
176
|
+
- Exact version pinning (all tested for compatibility)
|
|
177
|
+
- Framework-specific ESLint/Prettier configurations
|
|
178
|
+
- Testing setup with framework utilities
|
|
179
|
+
- TypeScript/Python type checking
|
|
180
|
+
- Security scanning configured
|
|
181
|
+
- Docker Compose for local development
|
|
182
|
+
- CI/CD workflows (GitHub Actions)
|
|
183
|
+
- Environment variable templates
|
|
184
|
+
|
|
185
|
+
### 🛡️ Quality Gates
|
|
186
|
+
|
|
187
|
+
Automated validation prevents technical debt:
|
|
188
|
+
|
|
189
|
+
**Available Checkers:**
|
|
190
|
+
- **Tests** - Unit, integration, E2E with coverage thresholds
|
|
191
|
+
- **Linting** - Code quality (ESLint/Ruff) with auto-fix
|
|
192
|
+
- **Formatting** - Code style (Prettier/Ruff) with auto-format
|
|
193
|
+
- **Security** - Vulnerability scanning (bandit, safety, npm audit)
|
|
194
|
+
- **Type Checking** - Static analysis (TypeScript/mypy)
|
|
195
|
+
- **Documentation** - CHANGELOG, README, docstring validation
|
|
196
|
+
- **Spec Completeness** - Work item specification validation
|
|
197
|
+
- **Performance** - Benchmarks and regression detection
|
|
198
|
+
|
|
199
|
+
**Quality Tiers:**
|
|
200
|
+
|
|
201
|
+
| Tier | Use Case | What's Included |
|
|
202
|
+
|------|----------|-----------------|
|
|
203
|
+
| **Essential** | Prototypes, MVPs | Linting, formatting, type-check, basic tests (60-80% coverage) |
|
|
204
|
+
| **Standard** | Production apps | Essential + Pre-commit hooks, security scanning, dependency auditing |
|
|
205
|
+
| **Comprehensive** | Mission-critical | Standard + Mutation testing (75%+), E2E tests, integration tests |
|
|
206
|
+
| **Production-Ready** | Enterprise | Comprehensive + Sentry, OpenTelemetry, performance monitoring, health checks |
|
|
207
|
+
|
|
208
|
+
Configure in `.session/config.json`:
|
|
209
|
+
```json
|
|
210
|
+
{
|
|
211
|
+
"quality_gates": {
|
|
212
|
+
"tests": {"enabled": true, "required": true, "coverage_threshold": 80},
|
|
213
|
+
"linting": {"enabled": true, "required": false, "auto_fix": true},
|
|
214
|
+
"security": {"enabled": true, "required": true, "fail_on": "high"}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
### 📋 Session Management
|
|
220
|
+
|
|
221
|
+
**Perfect context continuity** across all AI interactions:
|
|
222
|
+
|
|
223
|
+
```bash
|
|
224
|
+
sk start feature_xyz
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
Claude receives:
|
|
228
|
+
1. **Complete Work Item Spec** - Full implementation details from `.session/specs/feature_xyz.md`
|
|
229
|
+
2. **Project Documentation** - Vision, architecture, PRD
|
|
230
|
+
3. **Technology Stack** - Auto-detected frameworks and versions
|
|
231
|
+
4. **Project Structure** - Current file tree
|
|
232
|
+
5. **Git Context** - Branch status, recent commits
|
|
233
|
+
6. **Related Learnings** - Past insights relevant to this work
|
|
234
|
+
7. **Dependency Context** - What this depends on and what depends on it
|
|
235
|
+
8. **Milestone Progress** - Where this fits in the roadmap
|
|
236
|
+
9. **Previous Work Context** - For in-progress items: commits made, files changed, quality results
|
|
237
|
+
|
|
238
|
+
**Session completion** enforces quality:
|
|
239
|
+
|
|
240
|
+
```bash
|
|
241
|
+
sk end
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
Automatically:
|
|
245
|
+
- ✅ Runs all enabled quality gates
|
|
246
|
+
- ✅ Updates stack/tree tracking
|
|
247
|
+
- ✅ Extracts learnings from work
|
|
248
|
+
- ✅ Commits with standardized message
|
|
249
|
+
- ✅ Pushes to remote
|
|
250
|
+
- ✅ Updates work item status
|
|
251
|
+
- ✅ Generates session summary
|
|
252
|
+
|
|
253
|
+
### 🎯 Work Item Management
|
|
254
|
+
|
|
255
|
+
**Dependency-driven, spec-first workflow:**
|
|
256
|
+
|
|
257
|
+
```bash
|
|
258
|
+
# Create work items interactively
|
|
259
|
+
sk work-new
|
|
260
|
+
|
|
261
|
+
# List with filters
|
|
262
|
+
sk work-list
|
|
263
|
+
sk work-list --status not_started
|
|
264
|
+
sk work-list --milestone "v1.0"
|
|
265
|
+
|
|
266
|
+
# Get smart recommendations
|
|
267
|
+
sk work-next # Returns ready items (dependencies completed)
|
|
268
|
+
|
|
269
|
+
# Visualize dependencies
|
|
270
|
+
sk work-graph --critical-path # Show longest dependency chain
|
|
271
|
+
sk work-graph --bottlenecks # Identify blockers
|
|
272
|
+
sk work-graph --format svg # Export visual graph
|
|
273
|
+
|
|
274
|
+
# Update work items
|
|
275
|
+
sk work-update feature_xyz --status in_progress
|
|
276
|
+
sk work-update feature_xyz --priority high
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
**Spec-First Architecture:**
|
|
280
|
+
|
|
281
|
+
Work item specifications are the single source of truth:
|
|
282
|
+
|
|
283
|
+
```
|
|
284
|
+
.session/
|
|
285
|
+
├── specs/
|
|
286
|
+
│ ├── feature_xyz.md # Complete implementation guide
|
|
287
|
+
│ └── deployment_abc.md
|
|
288
|
+
└── tracking/
|
|
289
|
+
└── work_items.json # Metadata only (status, deps)
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
**6 work item types** with structured templates:
|
|
293
|
+
- **Feature** - New functionality
|
|
294
|
+
- **Bug** - Issue fixes with root cause analysis
|
|
295
|
+
- **Refactor** - Code improvements
|
|
296
|
+
- **Security** - Security enhancements
|
|
297
|
+
- **Integration Test** - Test suites
|
|
298
|
+
- **Deployment** - Deployment procedures
|
|
299
|
+
|
|
300
|
+
Each template includes:
|
|
301
|
+
- Required sections enforced via validation
|
|
302
|
+
- Implementation details, acceptance criteria
|
|
303
|
+
- Testing strategy, validation rules
|
|
304
|
+
- Type-specific guidelines
|
|
305
|
+
|
|
306
|
+
### 🧠 Learning System
|
|
307
|
+
|
|
308
|
+
**AI-powered knowledge capture and curation:**
|
|
309
|
+
|
|
310
|
+
```bash
|
|
311
|
+
# Capture learnings during development
|
|
312
|
+
sk learn
|
|
313
|
+
|
|
314
|
+
# Browse all learnings
|
|
315
|
+
sk learn-show
|
|
316
|
+
sk learn-show --category gotchas --tag fastapi
|
|
317
|
+
|
|
318
|
+
# Search by keyword
|
|
319
|
+
sk learn-search "CORS"
|
|
320
|
+
|
|
321
|
+
# Auto-curate (categorize, deduplicate, merge)
|
|
322
|
+
sk learn-curate
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
**6 Learning Categories** (auto-categorized):
|
|
326
|
+
- **Architecture** - Design decisions, patterns
|
|
327
|
+
- **Gotchas** - Edge cases, pitfalls
|
|
328
|
+
- **Best Practices** - Effective approaches
|
|
329
|
+
- **Technical Debt** - Areas needing improvement
|
|
330
|
+
- **Performance** - Optimization insights
|
|
331
|
+
- **Security** - Security discoveries
|
|
332
|
+
|
|
333
|
+
**3 Extraction Sources:**
|
|
334
|
+
1. Session summaries ("Learnings Captured" section)
|
|
335
|
+
2. Git commits (`LEARNING:` annotations)
|
|
336
|
+
3. Code comments (`# LEARNING:` in changed files)
|
|
337
|
+
|
|
338
|
+
**Smart Deduplication:**
|
|
339
|
+
- Jaccard + containment similarity detection
|
|
340
|
+
- Automatic merging of similar learnings
|
|
341
|
+
- Configurable similarity threshold (default: 0.7)
|
|
342
|
+
|
|
343
|
+
## Commands Reference
|
|
344
|
+
|
|
345
|
+
### Session Commands
|
|
346
|
+
|
|
347
|
+
```bash
|
|
348
|
+
sk init # Initialize project with template selection
|
|
349
|
+
sk start [item_id] # Start session with comprehensive briefing
|
|
350
|
+
sk end # Complete session with quality gates
|
|
351
|
+
sk status # Quick session overview
|
|
352
|
+
sk validate # Pre-flight check (run gates without ending)
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
### Work Item Commands
|
|
356
|
+
|
|
357
|
+
```bash
|
|
358
|
+
sk work-new # Create work item interactively
|
|
359
|
+
sk work-list # List all work items
|
|
360
|
+
sk work-show <id> # Show work item details
|
|
361
|
+
sk work-update <id> # Update work item fields
|
|
362
|
+
sk work-next # Get next recommended work item
|
|
363
|
+
sk work-graph # Visualize dependency graph
|
|
364
|
+
sk work-delete <id> # Delete work item (with safety checks)
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
### Learning Commands
|
|
368
|
+
|
|
369
|
+
```bash
|
|
370
|
+
sk learn # Capture learning interactively
|
|
371
|
+
sk learn-show # Browse all learnings
|
|
372
|
+
sk learn-search <q> # Search learnings by keyword
|
|
373
|
+
sk learn-curate # Run curation (categorize, deduplicate)
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
### Claude Code Slash Commands
|
|
377
|
+
|
|
378
|
+
For use within Claude Code conversations:
|
|
379
|
+
|
|
380
|
+
```bash
|
|
381
|
+
/sk:init # Initialize project
|
|
382
|
+
/sk:start [item_id] # Start session
|
|
383
|
+
/sk:end # Complete session
|
|
384
|
+
/sk:status # Session status
|
|
385
|
+
/sk:validate # Validate readiness
|
|
386
|
+
|
|
387
|
+
/sk:work-new # Create work item
|
|
388
|
+
/sk:work-list # List work items
|
|
389
|
+
/sk:work-show <id> # Show work item
|
|
390
|
+
/sk:work-update <id> # Update work item
|
|
391
|
+
/sk:work-next # Get recommendation
|
|
392
|
+
/sk:work-graph # Visualize dependencies
|
|
393
|
+
/sk:work-delete <id> # Delete work item
|
|
394
|
+
|
|
395
|
+
/sk:learn # Capture learning
|
|
396
|
+
/sk:learn-show # Browse learnings
|
|
397
|
+
/sk:learn-search <q> # Search learnings
|
|
398
|
+
/sk:learn-curate # Run curation
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
## Typical Workflow
|
|
402
|
+
|
|
403
|
+
```mermaid
|
|
404
|
+
graph TD
|
|
405
|
+
A[sk init] --> B[Choose Template & Quality Tier]
|
|
406
|
+
B --> C[sk work-new]
|
|
407
|
+
C --> D[Write Spec]
|
|
408
|
+
D --> E[sk start]
|
|
409
|
+
E --> F[Develop with Claude]
|
|
410
|
+
F --> G{More Changes?}
|
|
411
|
+
G -->|Yes| F
|
|
412
|
+
G -->|No| H[sk validate]
|
|
413
|
+
H --> I{Gates Pass?}
|
|
414
|
+
I -->|No| J[Fix Issues]
|
|
415
|
+
J --> F
|
|
416
|
+
I -->|Yes| K[sk end]
|
|
417
|
+
K --> L{More Work?}
|
|
418
|
+
L -->|Yes| C
|
|
419
|
+
L -->|No| M[Done!]
|
|
420
|
+
```
|
|
421
|
+
|
|
422
|
+
## Installation
|
|
423
|
+
|
|
424
|
+
### Option 1: PyPI (Recommended)
|
|
425
|
+
|
|
426
|
+
```bash
|
|
427
|
+
pip install solokit
|
|
428
|
+
```
|
|
429
|
+
|
|
430
|
+
### Option 2: From Source
|
|
431
|
+
|
|
432
|
+
```bash
|
|
433
|
+
git clone https://github.com/ankushdixit/solokit.git
|
|
434
|
+
cd solokit
|
|
435
|
+
pip install -e .
|
|
436
|
+
```
|
|
437
|
+
|
|
438
|
+
### Verify Installation
|
|
439
|
+
|
|
440
|
+
```bash
|
|
441
|
+
sk status
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
### Prerequisites
|
|
445
|
+
|
|
446
|
+
- **Claude Code** - Required for slash command integration
|
|
447
|
+
- **Python 3.9+** - Core framework
|
|
448
|
+
- **Git** - Version control integration
|
|
449
|
+
|
|
450
|
+
**Optional Tools** (for quality gates):
|
|
451
|
+
- Testing: `pytest` (Python), `jest` (JS/TS)
|
|
452
|
+
- Linting: `ruff` (Python), `eslint` (JS/TS)
|
|
453
|
+
- Formatting: `prettier` (JS/TS)
|
|
454
|
+
- Security: `bandit`, `safety` (Python), `npm audit` (JS)
|
|
455
|
+
- Visualization: `graphviz` (dependency graphs)
|
|
456
|
+
|
|
457
|
+
Quality gates gracefully skip when tools aren't available.
|
|
458
|
+
|
|
459
|
+
## Configuration
|
|
460
|
+
|
|
461
|
+
Configure Solokit via `.session/config.json` (created during `sk init`):
|
|
462
|
+
|
|
463
|
+
```json
|
|
464
|
+
{
|
|
465
|
+
"quality_gates": {
|
|
466
|
+
"tests": {
|
|
467
|
+
"enabled": true,
|
|
468
|
+
"required": true,
|
|
469
|
+
"coverage_threshold": 80
|
|
470
|
+
},
|
|
471
|
+
"linting": {
|
|
472
|
+
"enabled": true,
|
|
473
|
+
"required": false,
|
|
474
|
+
"auto_fix": true
|
|
475
|
+
},
|
|
476
|
+
"formatting": {
|
|
477
|
+
"enabled": true,
|
|
478
|
+
"required": false,
|
|
479
|
+
"auto_fix": true
|
|
480
|
+
},
|
|
481
|
+
"security": {
|
|
482
|
+
"enabled": true,
|
|
483
|
+
"required": true,
|
|
484
|
+
"fail_on": "high"
|
|
485
|
+
},
|
|
486
|
+
"documentation": {
|
|
487
|
+
"enabled": true,
|
|
488
|
+
"required": false
|
|
489
|
+
}
|
|
490
|
+
},
|
|
491
|
+
"learning_curation": {
|
|
492
|
+
"auto_curate": true,
|
|
493
|
+
"frequency": 5
|
|
494
|
+
},
|
|
495
|
+
"git": {
|
|
496
|
+
"auto_push": true,
|
|
497
|
+
"auto_merge": false
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
```
|
|
501
|
+
|
|
502
|
+
**Quality Gate Options:**
|
|
503
|
+
- `enabled` - Run this gate
|
|
504
|
+
- `required` - Block `sk end` if fails
|
|
505
|
+
- `auto_fix` - Automatically fix issues (linting/formatting)
|
|
506
|
+
- `coverage_threshold` - Minimum test coverage percentage
|
|
507
|
+
- `fail_on` - Security threshold (critical, high, medium, low)
|
|
508
|
+
|
|
509
|
+
**Learning Curation:**
|
|
510
|
+
- `auto_curate` - Automatically run curation
|
|
511
|
+
- `frequency` - Run every N sessions
|
|
512
|
+
|
|
513
|
+
**Git Integration:**
|
|
514
|
+
- `auto_push` - Automatically push after `sk end`
|
|
515
|
+
- `auto_merge` - Automatically merge branch if work complete
|
|
516
|
+
|
|
517
|
+
## Documentation
|
|
518
|
+
|
|
519
|
+
- **[Documentation Index](docs/README.md)** - Complete documentation navigation
|
|
520
|
+
- **[Architecture Overview](docs/ARCHITECTURE.md)** - System architecture
|
|
521
|
+
- **[Solokit Methodology](docs/architecture/solokit-methodology.md)** - Complete framework specification
|
|
522
|
+
- **[AI-Augmented Solo Framework](docs/architecture/ai-augmented-solo-framework.md)** - Philosophical context
|
|
523
|
+
- **[Learning System Guide](docs/reference/learning-system.md)** - Knowledge capture details
|
|
524
|
+
- **[Configuration Guide](docs/guides/configuration.md)** - Configuration options
|
|
525
|
+
- **[Writing Specs](docs/guides/writing-specs.md)** - Spec-first best practices
|
|
526
|
+
- **[Troubleshooting](docs/guides/troubleshooting.md)** - Common issues
|
|
527
|
+
|
|
528
|
+
## Project Structure
|
|
529
|
+
|
|
530
|
+
```
|
|
531
|
+
solokit/
|
|
532
|
+
├── .claude/ # Claude Code integration
|
|
533
|
+
│ └── commands/ # 16 slash commands (/sk:init, /sk:start, etc.)
|
|
534
|
+
├── src/solokit/ # Python package (standard src/ layout)
|
|
535
|
+
│ ├── cli.py # CLI entry point (sk command)
|
|
536
|
+
│ ├── core/ # Core functionality
|
|
537
|
+
│ ├── session/ # Session management
|
|
538
|
+
│ ├── work_items/ # Work item CRUD and specs
|
|
539
|
+
│ ├── learning/ # Learning capture & curation
|
|
540
|
+
│ ├── quality/ # Quality gates
|
|
541
|
+
│ ├── visualization/ # Dependency graphs
|
|
542
|
+
│ ├── git/ # Git integration
|
|
543
|
+
│ ├── testing/ # Testing utilities
|
|
544
|
+
│ ├── deployment/ # Deployment execution
|
|
545
|
+
│ ├── project/ # Project initialization
|
|
546
|
+
│ └── templates/ # Project templates & work item specs
|
|
547
|
+
├── docs/ # Comprehensive documentation
|
|
548
|
+
├── tests/ # 2,391 tests (100% passing)
|
|
549
|
+
│ ├── unit/ # Unit tests
|
|
550
|
+
│ ├── integration/ # Integration tests
|
|
551
|
+
│ └── e2e/ # End-to-end tests
|
|
552
|
+
├── README.md # This file
|
|
553
|
+
├── CHANGELOG.md # Version history
|
|
554
|
+
├── CONTRIBUTING.md # Contribution guidelines
|
|
555
|
+
└── pyproject.toml # Package configuration (PEP 517/518)
|
|
556
|
+
```
|
|
557
|
+
|
|
558
|
+
## Why Solokit?
|
|
559
|
+
|
|
560
|
+
### vs. Project Management Tools (Linear, Jira)
|
|
561
|
+
- ✅ **AI-native design** - Built for Claude Code, not bolted on
|
|
562
|
+
- ✅ **Context continuity** - Perfect AI briefings, not manual updates
|
|
563
|
+
- ✅ **Quality enforcement** - Automated gates, not manual reviews
|
|
564
|
+
- ✅ **Knowledge capture** - AI-powered, not manual documentation
|
|
565
|
+
|
|
566
|
+
### vs. AI Coding Tools (Cursor, Copilot)
|
|
567
|
+
- ✅ **Complete framework** - Templates + workflow + quality + learning
|
|
568
|
+
- ✅ **Production-ready** - Not just code completion
|
|
569
|
+
- ✅ **Process rigor** - Systematic workflow, not ad-hoc
|
|
570
|
+
- ✅ **Knowledge accumulation** - Learnings persist and grow
|
|
571
|
+
|
|
572
|
+
### vs. Project Templates (Cookiecutter)
|
|
573
|
+
- ✅ **Ongoing workflow** - Not just initial setup
|
|
574
|
+
- ✅ **Quality enforcement** - Automated validation throughout
|
|
575
|
+
- ✅ **Session management** - Perfect context across all work
|
|
576
|
+
- ✅ **4 quality tiers** - From MVP to enterprise
|
|
577
|
+
|
|
578
|
+
**Solokit is the only tool that combines:**
|
|
579
|
+
- Production-ready templates with validated dependencies
|
|
580
|
+
- AI-native session management with perfect context
|
|
581
|
+
- Automated quality enforcement throughout development
|
|
582
|
+
- AI-powered knowledge capture and curation
|
|
583
|
+
- Dependency-driven, spec-first workflow
|
|
584
|
+
|
|
585
|
+
## Development Status
|
|
586
|
+
|
|
587
|
+
**Current Version:** v0.1.0 (Production-Ready)
|
|
588
|
+
|
|
589
|
+
**Test Coverage:** 2,391 tests passing (100%)
|
|
590
|
+
|
|
591
|
+
### Completed Features
|
|
592
|
+
|
|
593
|
+
| Feature | Status |
|
|
594
|
+
|---------|--------|
|
|
595
|
+
| Core Session Management | ✅ Complete |
|
|
596
|
+
| Work Item System | ✅ Complete |
|
|
597
|
+
| Dependency Visualization | ✅ Complete |
|
|
598
|
+
| Learning Management | ✅ Complete |
|
|
599
|
+
| Quality Gates | ✅ Complete |
|
|
600
|
+
| Spec-First Architecture | ✅ Complete |
|
|
601
|
+
| Production Templates (4 stacks) | ✅ Complete |
|
|
602
|
+
| Quality Tiers (4 levels) | ✅ Complete |
|
|
603
|
+
| Claude Code Integration | ✅ Complete |
|
|
604
|
+
|
|
605
|
+
See [CHANGELOG.md](./CHANGELOG.md) for detailed release history.
|
|
606
|
+
|
|
607
|
+
## Contributing
|
|
608
|
+
|
|
609
|
+
Contributions welcome! See [CONTRIBUTING.md](./CONTRIBUTING.md) for guidelines.
|
|
610
|
+
|
|
611
|
+
```bash
|
|
612
|
+
# Clone and install
|
|
613
|
+
git clone https://github.com/ankushdixit/solokit.git
|
|
614
|
+
cd solokit
|
|
615
|
+
pip install -e ".[dev]"
|
|
616
|
+
|
|
617
|
+
# Run tests
|
|
618
|
+
pytest tests/ -v
|
|
619
|
+
|
|
620
|
+
# Run quality checks
|
|
621
|
+
ruff check src/solokit/ tests/
|
|
622
|
+
ruff format src/solokit/ tests/
|
|
623
|
+
mypy src/solokit
|
|
624
|
+
```
|
|
625
|
+
|
|
626
|
+
## License
|
|
627
|
+
|
|
628
|
+
MIT License - See [LICENSE](./LICENSE) for details.
|
|
629
|
+
|
|
630
|
+
## Credits
|
|
631
|
+
|
|
632
|
+
Built for solo developers building production software with AI assistance.
|
|
633
|
+
|
|
634
|
+
Inspired by professional software development practices adapted for AI-augmented solo development.
|
|
635
|
+
|
|
636
|
+
---
|
|
637
|
+
|
|
638
|
+
**Solo doesn't mean shortcuts. Build with team-level sophistication.**
|
|
639
|
+
|
|
640
|
+
🌐 [getsolokit.com](https://getsolokit.com) | 📦 [PyPI](https://pypi.org/project/solokit/) | 🐙 [GitHub](https://github.com/ankushdixit/solokit)
|