chore(build): automate Speckit installation with Make targets#8
chore(build): automate Speckit installation with Make targets#8kimchanhyung98 merged 17 commits intomainfrom
Conversation
|
Important Review skippedBot user detected. To trigger a single review, invoke the You can disable this status message by setting the Note Other AI code review bot(s) detectedCodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review. 📝 WalkthroughWalkthroughThe pull request introduces a Makefile with public targets for spec-kit installation, agent-os configuration, and project initialization, alongside README.md documentation that provides Speckit quick-start instructions with multi-language support and command examples. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant Make
participant Docker
participant npm
participant Laravel
User->>Make: make init
activate Make
Make->>Docker: Check Docker & Docker Compose
Docker-->>Make: ✓ Present
Make->>Make: Copy .env if missing
Make->>Docker: Start Docker services
Docker-->>Make: Services running
Make->>npm: Install npm packages<br/>(in container)
npm-->>Make: Dependencies installed
Make->>Laravel: Run migrations<br/>with seeding
Laravel-->>Make: Database initialized
deactivate Make
Make-->>User: Setup complete
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Poem
Pre-merge checks✅ Passed checks (5 passed)
Comment |
Co-authored-by: kimchanhyung98 <60088641+kimchanhyung98@users.noreply.github.com>
Co-authored-by: kimchanhyung98 <60088641+kimchanhyung98@users.noreply.github.com>
Co-authored-by: kimchanhyung98 <60088641+kimchanhyung98@users.noreply.github.com>
Co-authored-by: kimchanhyung98 <60088641+kimchanhyung98@users.noreply.github.com>
Co-authored-by: kimchanhyung98 <60088641+kimchanhyung98@users.noreply.github.com>
Co-authored-by: kimchanhyung98 <60088641+kimchanhyung98@users.noreply.github.com>
Co-authored-by: kimchanhyung98 <60088641+kimchanhyung98@users.noreply.github.com>
Co-authored-by: kimchanhyung98 <60088641+kimchanhyung98@users.noreply.github.com>
Co-authored-by: kimchanhyung98 <60088641+kimchanhyung98@users.noreply.github.com>
Co-authored-by: kimchanhyung98 <60088641+kimchanhyung98@users.noreply.github.com>
Co-authored-by: kimchanhyung98 <60088641+kimchanhyung98@users.noreply.github.com>
Co-authored-by: kimchanhyung98 <60088641+kimchanhyung98@users.noreply.github.com>
Co-authored-by: kimchanhyung98 <60088641+kimchanhyung98@users.noreply.github.com>
- Replace Python venv-based speckit with specify CLI (spec-kit target) - Add agent-os installation with configurable agent selection - Add Docker-based project initialization workflow (init target) - Add interactive help system with color-coded command descriptions - Remove semver validation logic in favor of simplified installation BREAKING CHANGE: Removed speckit-install, speckit-init, speckit-check, speckit-clean targets. Use 'make spec-kit' instead. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
@coderabbitai review |
|
@kimchanhyung98: I'll review the changes in this PR now. ✅ Actions performedReview triggered.
|
There was a problem hiding this comment.
Code Review
This pull request introduces a Makefile to automate speckit workflows, which is a great idea. However, there's a significant mismatch between the implementation in the Makefile and the documentation in README.md. The Makefile contains targets like agent-os and a Laravel project init which seem unrelated to speckit, and it's missing the speckit-install, speckit-check, and speckit-clean targets documented in the README. Please synchronize the Makefile with the documentation to fulfill the PR's goal. I've left a few specific comments on the current Makefile content as well.
| .PHONY: spec-kit agent-os help init | ||
|
|
||
| .DEFAULT_GOAL := help | ||
|
|
||
| help: ## Show available commands | ||
| @awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m<target>\033[0m\n\nTargets:\n"} /^[a-zA-Z_-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST) | ||
|
|
||
| spec-kit: ## Install spec-kit (default: claude) | ||
| @agent=$(word 2,$(MAKECMDGOALS)); \ | ||
| if [ -z "$$agent" ]; then \ | ||
| agent="claude"; \ | ||
| echo "Using default agent: claude"; \ | ||
| fi; \ | ||
| if ! command -v specify >/dev/null 2>&1; then \ | ||
| echo "[spec-kit] 'specify' not found."; \ | ||
| echo "RUN: uv tool install specify-cli --from git+https://github.com/github/spec-kit.git"; \ | ||
| exit 1; \ | ||
| fi; \ | ||
| yes | specify init --here --ai $$agent --script sh | ||
|
|
||
| agent-os: ## Install agent-os (default: claude) | ||
| @agent=$(word 2,$(MAKECMDGOALS)); \ | ||
| script="$$HOME/agent-os/scripts/project-install.sh"; \ | ||
| if [ -z "$$agent" ]; then \ | ||
| agent="claude"; \ | ||
| echo "Using default agent: claude"; \ | ||
| fi; \ | ||
| if [ ! -f "$$script" ]; then \ | ||
| echo "[agent-os] 'agent-os' not found."; \ | ||
| echo "RUN: curl -sSL https://raw.githubusercontent.com/buildermethods/agent-os/main/scripts/base-install.sh | bash"; \ | ||
| exit 1; \ | ||
| fi; \ | ||
| echo "Installing agent-os with agent: $$agent"; \ | ||
| if [ "$$agent" = "claude" ]; then \ | ||
| yes | bash "$$script"; \ | ||
| elif [ "$$agent" = "all" ]; then \ | ||
| yes | bash "$$script" --agent-os-commands true --standards-as-claude-code-skills true; \ | ||
| else \ | ||
| yes | bash "$$script" --claude-code-commands false --use-claude-code-subagents false --standards-as-claude-code-skills true --agent-os-commands true; \ | ||
| fi | ||
|
|
||
| init: ## Setup Project environment (Docker required) | ||
| @if ! command -v docker >/dev/null 2>&1; then \ | ||
| echo "[init] 'docker' not found"; \ | ||
| exit 1; \ | ||
| fi; \ | ||
| if ! docker compose version >/dev/null 2>&1; then \ | ||
| echo "[init] 'docker compose' not found"; \ | ||
| exit 1; \ | ||
| fi; \ | ||
| if [ ! -f .env ]; then \ | ||
| echo "Copying .env.example to .env"; \ | ||
| cp .env.example .env; \ | ||
| fi; \ | ||
| echo "Starting Docker containers"; \ | ||
| docker compose up -d; \ | ||
| echo "Installing npm packages"; \ | ||
| docker run --rm -v $$(pwd):/app -w /app node:22-alpine npm install; \ | ||
| echo "Running database migrations and seeders"; \ | ||
| docker compose exec laravel.test php artisan migrate --seed | ||
|
|
||
| %: | ||
| @: |
There was a problem hiding this comment.
This Makefile does not align with the functionality described in the pull request and documented in README.md. The README.md specifies speckit-install, speckit-init, speckit-check, and speckit-clean targets, but this file is missing most of them and contains unrelated targets (agent-os, init). The init target, for instance, appears to be for setting up a Laravel project. Please provide the correct Makefile that implements the documented speckit automation.
| @agent=$(word 2,$(MAKECMDGOALS)); \ | ||
| if [ -z "$$agent" ]; then \ | ||
| agent="claude"; \ | ||
| echo "Using default agent: claude"; \ | ||
| fi; \ |
There was a problem hiding this comment.
The method of parsing arguments using MAKECMDGOALS is unconventional for Makefiles and can be brittle. A more standard and robust approach is to use Makefile variables passed as environment variables. This allows users to run commands like make spec-kit agent=claude, which is more explicit than make spec-kit claude. You can then use shell parameter expansion to provide a default value.
@agent=$${agent:-claude}; \
echo "Using agent: $$agent";
|
|
||
| agent-os: ## Install agent-os (default: claude) | ||
| @agent=$(word 2,$(MAKECMDGOALS)); \ | ||
| script="$$HOME/agent-os/scripts/project-install.sh"; \ |
There was a problem hiding this comment.
The script path is hardcoded relative to $HOME. This makes the target less portable as it assumes agent-os is always installed in ~/agent-os. It would be more robust to either check for the script in the system's PATH (e.g., using command -v project-install.sh) or allow the path to be overridden via a Makefile variable.
There was a problem hiding this comment.
Code Review
This pull request aims to standardize Speckit installation and usage through a Makefile, and the README has been updated accordingly. However, there is a major discrepancy between the implemented Makefile and the documentation. The Makefile contains targets (spec-kit, agent-os, init) that seem to belong to a different project and tool (spec-kit), while the README.md and PR description detail targets for speckit (speckit-install, speckit-init, speckit-check, and speckit-clean). This core inconsistency needs to be resolved for the PR to be effective.
| .PHONY: spec-kit agent-os help init | ||
|
|
||
| .DEFAULT_GOAL := help | ||
|
|
||
| help: ## Show available commands | ||
| @awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m<target>\033[0m\n\nTargets:\n"} /^[a-zA-Z_-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST) | ||
|
|
||
| spec-kit: ## Install spec-kit (default: claude) | ||
| @agent=$(word 2,$(MAKECMDGOALS)); \ | ||
| if [ -z "$$agent" ]; then \ | ||
| agent="claude"; \ | ||
| echo "Using default agent: claude"; \ | ||
| fi; \ | ||
| if ! command -v specify >/dev/null 2>&1; then \ | ||
| echo "[spec-kit] 'specify' not found."; \ | ||
| echo "RUN: uv tool install specify-cli --from git+https://github.com/github/spec-kit.git"; \ | ||
| exit 1; \ | ||
| fi; \ | ||
| yes | specify init --here --ai $$agent --script sh | ||
|
|
||
| agent-os: ## Install agent-os (default: claude) | ||
| @agent=$(word 2,$(MAKECMDGOALS)); \ | ||
| script="$$HOME/agent-os/scripts/project-install.sh"; \ | ||
| if [ -z "$$agent" ]; then \ | ||
| agent="claude"; \ | ||
| echo "Using default agent: claude"; \ | ||
| fi; \ | ||
| if [ ! -f "$$script" ]; then \ | ||
| echo "[agent-os] 'agent-os' not found."; \ | ||
| echo "RUN: curl -sSL https://raw.githubusercontent.com/buildermethods/agent-os/main/scripts/base-install.sh | bash"; \ | ||
| exit 1; \ | ||
| fi; \ | ||
| echo "Installing agent-os with agent: $$agent"; \ | ||
| if [ "$$agent" = "claude" ]; then \ | ||
| yes | bash "$$script"; \ | ||
| elif [ "$$agent" = "all" ]; then \ | ||
| yes | bash "$$script" --agent-os-commands true --standards-as-claude-code-skills true; \ | ||
| else \ | ||
| yes | bash "$$script" --claude-code-commands false --use-claude-code-subagents false --standards-as-claude-code-skills true --agent-os-commands true; \ | ||
| fi | ||
|
|
||
| init: ## Setup Project environment (Docker required) | ||
| @if ! command -v docker >/dev/null 2>&1; then \ | ||
| echo "[init] 'docker' not found"; \ | ||
| exit 1; \ | ||
| fi; \ | ||
| if ! docker compose version >/dev/null 2>&1; then \ | ||
| echo "[init] 'docker compose' not found"; \ | ||
| exit 1; \ | ||
| fi; \ | ||
| if [ ! -f .env ]; then \ | ||
| echo "Copying .env.example to .env"; \ | ||
| cp .env.example .env; \ | ||
| fi; \ | ||
| echo "Starting Docker containers"; \ | ||
| docker compose up -d; \ | ||
| echo "Installing npm packages"; \ | ||
| docker run --rm -v $$(pwd):/app -w /app node:22-alpine npm install; \ | ||
| echo "Running database migrations and seeders"; \ | ||
| docker compose exec laravel.test php artisan migrate --seed | ||
|
|
||
| %: | ||
| @: |
There was a problem hiding this comment.
The content of this Makefile does not align with the stated goal of this pull request, which is to add automation for speckit. The targets defined here (spec-kit, agent-os, init) appear to be for a different tool (spec-kit) and project (involving agent-os and Laravel). They do not match the speckit-* targets (speckit-install, speckit-init, etc.) described in the README.md and the pull request description. Please replace this with the correct Makefile content that implements the speckit automation.
| ## Speckit 사용 방법 / Quick Guide | ||
|
|
||
| Speckit CLI를 프로젝트 내에서 동일하게 사용할 수 있도록 Makefile로 래핑했습니다. Python 3와 make만 있으면 됩니다. | ||
|
|
||
| Speckit commands are wrapped in the Makefile so you can install and run them consistently with only Python 3 and make. | ||
|
|
||
| ### 설치 | ||
|
|
||
| 로컬 가상환경(`.venv`)에 Speckit을 설치합니다. 필요 시 버전을 고정해 사용할 수 있습니다. | ||
|
|
||
| ```bash | ||
| # 최신 버전 | ||
| make speckit-install | ||
|
|
||
| # 특정 버전 설치 | ||
| SPECKIT_VERSION=0.2.0 make speckit-install | ||
|
|
||
| # 사용 가능한 버전 확인 (예시) | ||
| pip index versions speckit | ||
| ``` | ||
|
|
||
| ### 초기화 및 검증 | ||
|
|
||
| ```bash | ||
| # 초기 설정 (예: 템플릿 생성) | ||
| make speckit-init | ||
|
|
||
| # 규칙 검증 | ||
| make speckit-check | ||
| ``` | ||
|
|
||
| ### 정리 | ||
|
|
||
| ```bash | ||
| make speckit-clean | ||
| ``` | ||
|
|
||
| ### CI/워크플로우 예시 (옵션) | ||
|
|
||
| CI에서 동일한 명령을 재사용할 수 있습니다. | ||
|
|
||
| ```yaml | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - uses: actions/setup-python@v5 | ||
| with: | ||
| python-version: '3.x' | ||
| - run: make speckit-install | ||
| - run: make speckit-check | ||
| ``` |
There was a problem hiding this comment.
There was a problem hiding this comment.
Pull request overview
This PR aims to add Speckit automation to the repository with Makefile targets and documentation. However, there is a critical mismatch between the documented functionality and the actual implementation. The README documents targets like speckit-install, speckit-init, speckit-check, and speckit-clean that do not exist in the Makefile. Instead, the Makefile contains unrelated targets (spec-kit, agent-os, init) that serve different purposes and use different tools than documented.
Key Issues:
- The documented Speckit targets are completely missing from the Makefile implementation
- Prerequisites and installation methods documented in README don't match the actual Makefile requirements
- Version pinning feature (SPECKIT_VERSION) is documented but not implemented
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 12 comments.
| File | Description |
|---|---|
| README.md | Adds Korean and English documentation for Speckit usage, including installation, initialization, validation, and CI examples - but documents non-existent targets |
| Makefile | Adds targets for spec-kit, agent-os, and Docker/Laravel initialization - but these don't match what's documented in the README |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| @@ -0,0 +1,63 @@ | |||
| .PHONY: spec-kit agent-os help init | |||
There was a problem hiding this comment.
The .PHONY declaration lists spec-kit but the documented targets speckit-install, speckit-init, speckit-check, and speckit-clean are missing. The .PHONY declaration should include all phony targets to prevent conflicts with files of the same name.
| .PHONY: spec-kit agent-os help init | |
| .PHONY: spec-kit speckit-install speckit-init speckit-check speckit-clean agent-os help init |
| echo "Running database migrations and seeders"; \ | ||
| docker compose exec laravel.test php artisan migrate --seed | ||
|
|
||
| %: |
There was a problem hiding this comment.
The catch-all pattern rule at the end silently ignores unknown targets, which masks errors when users mistype target names. For example, if a user types make speckit-install (as documented), it will succeed silently without doing anything instead of showing an error. This catch-all should be removed or modified to show an error for undefined targets.
| %: | |
| %: | |
| @if [ "$@" = "$(word 1,$(MAKECMDGOALS))" ]; then \ | |
| echo "make: *** No rule to make target '$@'."; \ | |
| exit 1; \ | |
| fi; \ |
| # 사용 가능한 버전 확인 (예시) | ||
| pip index versions speckit |
There was a problem hiding this comment.
The instruction to check available versions using pip index versions speckit is inconsistent with the actual installation method. The Makefile uses uv tool install from a GitHub repository, not pip from PyPI. This command won't help users find valid versions for the actual installation method being used.
| # 사용 가능한 버전 확인 (예시) | |
| pip index versions speckit | |
| # 사용 가능한 버전 확인 (예시): | |
| # Speckit GitHub 저장소의 Releases/Tags 페이지에서 사용할 버전을 확인하세요. |
|
|
||
| ```bash | ||
| # 최신 버전 | ||
| make speckit-install |
There was a problem hiding this comment.
The documented target speckit-install does not exist in the Makefile. The Makefile contains a target named spec-kit (with a hyphen) instead, which has completely different functionality (it runs specify init rather than installing speckit). The documented targets speckit-install, speckit-init, speckit-check, and speckit-clean need to be implemented in the Makefile to match this documentation.
| Speckit CLI를 프로젝트 내에서 동일하게 사용할 수 있도록 Makefile로 래핑했습니다. Python 3와 make만 있으면 됩니다. | ||
|
|
||
| Speckit commands are wrapped in the Makefile so you can install and run them consistently with only Python 3 and make. |
There was a problem hiding this comment.
The documentation states that only Python 3 and make are required, and mentions using a local virtual environment (.venv). However, the actual Makefile implementation requires uv and the specify CLI tool (installed via uv tool install), which is a different installation mechanism than what's documented here. The prerequisites and installation method need to be corrected to match the actual implementation.
| ### 정리 | ||
|
|
||
| ```bash | ||
| make speckit-clean | ||
| ``` | ||
|
|
There was a problem hiding this comment.
The documented target speckit-clean does not exist in the Makefile. This target needs to be implemented to match the documentation.
| ### 정리 | |
| ```bash | |
| make speckit-clean | |
| ``` |
| help: ## Show available commands | ||
| @awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m<target>\033[0m\n\nTargets:\n"} /^[a-zA-Z_-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST) | ||
|
|
||
| spec-kit: ## Install spec-kit (default: claude) |
There was a problem hiding this comment.
The target name uses an inconsistent naming convention with a hyphen spec-kit instead of following the pattern speckit-* documented in the README. This creates confusion as the documentation refers to speckit-install, speckit-init, etc., but the actual target is named spec-kit. Consider renaming to speckit or implementing the documented targets like speckit-install for consistency.
| yes | bash "$$script" --claude-code-commands false --use-claude-code-subagents false --standards-as-claude-code-skills true --agent-os-commands true; \ | ||
| fi | ||
|
|
||
| init: ## Setup Project environment (Docker required) |
There was a problem hiding this comment.
The init target is documented as installing npm packages and running Laravel migrations, but it shares the same name as what appears to be a Speckit initialization command in the README (line 28 shows make speckit-init). This creates ambiguity. The Docker/Laravel init target should have a more specific name like docker-init or laravel-init to avoid confusion with Speckit initialization.
| # 최신 버전 | ||
| make speckit-install | ||
|
|
||
| # 특정 버전 설치 | ||
| SPECKIT_VERSION=0.2.0 make speckit-install | ||
|
|
There was a problem hiding this comment.
The documentation shows version pinning with SPECKIT_VERSION=0.2.0, but the Makefile does not support any version parameter. The spec-kit target in the Makefile does not accept or use a SPECKIT_VERSION environment variable, so this documented feature is not implemented.
| # 최신 버전 | |
| make speckit-install | |
| # 특정 버전 설치 | |
| SPECKIT_VERSION=0.2.0 make speckit-install | |
| # 최신 버전 설치 (현재 Makefile은 항상 최신 버전을 설치합니다.) | |
| make speckit-install |
| - run: make speckit-install | ||
| - run: make speckit-check |
There was a problem hiding this comment.
The CI example uses make targets (speckit-install and speckit-check) that don't exist in the Makefile. This example will fail if users try to use it. The targets need to be implemented or the example needs to be updated to use the actual targets.
| - run: make speckit-install | |
| - run: make speckit-check | |
| - run: make install | |
| - run: make check |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (2)
Makefile (2)
21-40: Document supported agents and flag usage for agent-os target.The agent-os target supports three branches (claude, all, other) but there's no documentation of:
- What agents are valid for the "other" case (line 39)
- What each flag combination (--agent-os-commands, --standards-as-claude-code-skills, etc.) does
- Whether the flag combinations are stable across agent-os versions
Consider adding inline comments or updating the README to clarify supported agents and usage.
62-63: Consider adding feedback to catch-all target to prevent silent typos.The catch-all
%target is necessary to support the$(word 2,$(MAKECMDGOALS))pattern in spec-kit and agent-os. Currently it silently succeeds, which means typos likemake spec-kit typowill not error.Consider documenting this in code comments, or alternately, providing a warning when non-existent targets are invoked:
%: @echo "Warning: target '$@' not found"; true
📜 Review details
Configuration used: defaults
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
MakefileREADME.md
🧰 Additional context used
🪛 checkmake (0.2.2)
Makefile
[warning] 42-42: Target body for "init" exceeds allowed length of 5 (18).
(maxbodylength)
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
🔇 Additional comments (3)
Makefile (3)
1-6: ✓ Help target and phony declarations look good.The awk-based help formatter correctly parses target descriptions and the default goal routing is appropriate.
8-19: Clarify the$(word 2,$ (MAKECMDGOALS)) pattern and consider documenting it.The target relies on extracting the agent name via
$(word 2,$(MAKECMDGOALS))which requires the catch-all%target to prevent Make from trying to build invalid agent names as targets. While functional, this can silently ignore typos (e.g.,make spec-kit typowill not error).Consider documenting this pattern in a comment or the help target, or document expected usage (e.g., "make spec-kit claude" or "make spec-kit" for default).
42-60: Remove or replace theinittarget — it is incompatible with this repository.This repository is a Speckit CLI template requiring only Python 3 and make (per README.md). The
inittarget references Laravel, Docker Compose, npm, and a.env.examplefile that do not exist in this repository. Line 51 will immediately fail (cp .env.example .envfails when the file doesn't exist), and line 60 cannot work without adocker-compose.ymlandlaravel.testservice.This target appears to have been copy-pasted from a Laravel Docker project and should either be removed or the repository should be clarified if it is meant to serve a different purpose than documented.
Likely an incorrect or invalid review comment.
| # base | ||
|
|
||
| ## Speckit 사용 방법 / Quick Guide | ||
|
|
||
| Speckit CLI를 프로젝트 내에서 동일하게 사용할 수 있도록 Makefile로 래핑했습니다. Python 3와 make만 있으면 됩니다. | ||
|
|
||
| Speckit commands are wrapped in the Makefile so you can install and run them consistently with only Python 3 and make. | ||
|
|
||
| ### 설치 | ||
|
|
||
| 로컬 가상환경(`.venv`)에 Speckit을 설치합니다. 필요 시 버전을 고정해 사용할 수 있습니다. | ||
|
|
||
| ```bash | ||
| # 최신 버전 | ||
| make speckit-install | ||
|
|
||
| # 특정 버전 설치 | ||
| SPECKIT_VERSION=0.2.0 make speckit-install | ||
|
|
||
| # 사용 가능한 버전 확인 (예시) | ||
| pip index versions speckit | ||
| ``` | ||
|
|
||
| ### 초기화 및 검증 | ||
|
|
||
| ```bash | ||
| # 초기 설정 (예: 템플릿 생성) | ||
| make speckit-init | ||
|
|
||
| # 규칙 검증 | ||
| make speckit-check | ||
| ``` | ||
|
|
||
| ### 정리 | ||
|
|
||
| ```bash | ||
| make speckit-clean | ||
| ``` | ||
|
|
||
| ### CI/워크플로우 예시 (옵션) | ||
|
|
||
| CI에서 동일한 명령을 재사용할 수 있습니다. | ||
|
|
||
| ```yaml | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - uses: actions/setup-python@v5 | ||
| with: | ||
| python-version: '3.x' | ||
| - run: make speckit-install | ||
| - run: make speckit-check | ||
| ``` |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
# First, let's find and examine the Makefile
find . -name "Makefile" -o -name "makefile" | head -20Repository: kimchanhyung98/base
Length of output: 73
🏁 Script executed:
# Also check the README structure
find . -name "README*" | head -20Repository: kimchanhyung98/base
Length of output: 74
🏁 Script executed:
cat -n ./MakefileRepository: kimchanhyung98/base
Length of output: 2808
🏁 Script executed:
head -52 ./README.mdRepository: kimchanhyung98/base
Length of output: 879
Update README to document actual Makefile targets.
The README documents make speckit-install, make speckit-init, make speckit-check, and make speckit-clean commands, but the Makefile implements only spec-kit, agent-os, init, and help targets. The README describes a Python venv-based Speckit workflow that no longer exists, while the actual Makefile implements a spec-kit and agent-os agent-based workflow with Docker initialization.
Following the README instructions will result in command not found errors. Update the README to document the actual targets and their usage.
🤖 Prompt for AI Agents
In README.md around lines 1 to 52, the docs list make targets (speckit-install,
speckit-init, speckit-check, speckit-clean) and a venv-based workflow that no
longer exist; update the README to match the actual Makefile targets (spec-kit,
agent-os, init, help) and the current Docker/agent-based initialization flow.
Replace the installation and init sections with brief usage examples for each
real target (how to run spec-kit, how to run agent-os, how to run init and
help), remove or rework the Python .venv instructions, and update the CI snippet
to invoke the correct make targets and any required Docker/setup steps; keep
bilingual (Korean/English) wording consistent and ensure examples use the actual
commands and environment variables required by the Makefile.
Removed detailed usage instructions and examples from the README, leaving only the project title. This streamlines the README, possibly in preparation for new documentation or restructuring.
Standardize Speckit installation and usage with Makefile automation and documentation.
Makefiletargetsspeckit-install,speckit-init,speckit-check,speckit-cleanusing a local venv; optionalSPECKIT_VERSIONwith semver-like validation.Example:
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.
Summary by CodeRabbit
Documentation
Chores
✏️ Tip: You can customize this high-level summary in your review settings.