Update local-development.md
This commit is contained in:
@@ -62,7 +62,9 @@ uvx --from git+https://github.com/github/spec-kit.git@your-feature-branch specif
|
|||||||
```
|
```
|
||||||
|
|
||||||
## 5. Testing Script Permission Logic
|
## 5. Testing Script Permission Logic
|
||||||
|
|
||||||
After running an `init`, check that shell scripts are executable on POSIX systems:
|
After running an `init`, check that shell scripts are executable on POSIX systems:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
ls -l scripts | grep .sh
|
ls -l scripts | grep .sh
|
||||||
# Expect owner execute bit (e.g. -rwxr-xr-x)
|
# Expect owner execute bit (e.g. -rwxr-xr-x)
|
||||||
@@ -70,13 +72,16 @@ ls -l scripts | grep .sh
|
|||||||
On Windows this step is a no-op.
|
On Windows this step is a no-op.
|
||||||
|
|
||||||
## 6. Run Lint / Basic Checks (Add Your Own)
|
## 6. Run Lint / Basic Checks (Add Your Own)
|
||||||
|
|
||||||
Currently no enforced lint config is bundled, but you can quickly sanity check importability:
|
Currently no enforced lint config is bundled, but you can quickly sanity check importability:
|
||||||
```bash
|
```bash
|
||||||
python -c "import specify_cli; print('Import OK')"
|
python -c "import specify_cli; print('Import OK')"
|
||||||
```
|
```
|
||||||
|
|
||||||
## 7. Build a Wheel Locally (Optional)
|
## 7. Build a Wheel Locally (Optional)
|
||||||
|
|
||||||
Validate packaging before publishing:
|
Validate packaging before publishing:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
uv build
|
uv build
|
||||||
ls dist/
|
ls dist/
|
||||||
@@ -84,7 +89,9 @@ ls dist/
|
|||||||
Install the built artifact into a fresh throwaway environment if needed.
|
Install the built artifact into a fresh throwaway environment if needed.
|
||||||
|
|
||||||
## 8. Using a Temporary Workspace
|
## 8. Using a Temporary Workspace
|
||||||
|
|
||||||
When testing `init --here` in a dirty directory, create a temp workspace:
|
When testing `init --here` in a dirty directory, create a temp workspace:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
mkdir /tmp/spec-test && cd /tmp/spec-test
|
mkdir /tmp/spec-test && cd /tmp/spec-test
|
||||||
python -m src.specify_cli init --here --ai claude --ignore-agent-tools # if repo copied here
|
python -m src.specify_cli init --here --ai claude --ignore-agent-tools # if repo copied here
|
||||||
@@ -92,7 +99,9 @@ python -m src.specify_cli init --here --ai claude --ignore-agent-tools # if rep
|
|||||||
Or copy only the modified CLI portion if you want a lighter sandbox.
|
Or copy only the modified CLI portion if you want a lighter sandbox.
|
||||||
|
|
||||||
## 9. Debug Network / TLS Skips
|
## 9. Debug Network / TLS Skips
|
||||||
|
|
||||||
If you need to bypass TLS validation while experimenting:
|
If you need to bypass TLS validation while experimenting:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
specify check --skip-tls
|
specify check --skip-tls
|
||||||
specify init demo --skip-tls --ai gemini --ignore-agent-tools
|
specify init demo --skip-tls --ai gemini --ignore-agent-tools
|
||||||
@@ -100,6 +109,7 @@ specify init demo --skip-tls --ai gemini --ignore-agent-tools
|
|||||||
(Use only for local experimentation.)
|
(Use only for local experimentation.)
|
||||||
|
|
||||||
## 10. Rapid Edit Loop Summary
|
## 10. Rapid Edit Loop Summary
|
||||||
|
|
||||||
| Action | Command |
|
| Action | Command |
|
||||||
|--------|---------|
|
|--------|---------|
|
||||||
| Run CLI directly | `python -m src.specify_cli --help` |
|
| Run CLI directly | `python -m src.specify_cli --help` |
|
||||||
@@ -109,12 +119,14 @@ specify init demo --skip-tls --ai gemini --ignore-agent-tools
|
|||||||
| Build wheel | `uv build` |
|
| Build wheel | `uv build` |
|
||||||
|
|
||||||
## 11. Cleaning Up
|
## 11. Cleaning Up
|
||||||
|
|
||||||
Remove build artifacts / virtual env quickly:
|
Remove build artifacts / virtual env quickly:
|
||||||
```bash
|
```bash
|
||||||
rm -rf .venv dist build *.egg-info
|
rm -rf .venv dist build *.egg-info
|
||||||
```
|
```
|
||||||
|
|
||||||
## 12. Common Issues
|
## 12. Common Issues
|
||||||
|
|
||||||
| Symptom | Fix |
|
| Symptom | Fix |
|
||||||
|---------|-----|
|
|---------|-----|
|
||||||
| `ModuleNotFoundError: typer` | Run `uv pip install -e .` |
|
| `ModuleNotFoundError: typer` | Run `uv pip install -e .` |
|
||||||
@@ -123,9 +135,8 @@ rm -rf .venv dist build *.egg-info
|
|||||||
| TLS errors on corporate network | Try `--skip-tls` (not for production) |
|
| TLS errors on corporate network | Try `--skip-tls` (not for production) |
|
||||||
|
|
||||||
## 13. Next Steps
|
## 13. Next Steps
|
||||||
|
|
||||||
- Update docs and run through Quick Start using your modified CLI
|
- Update docs and run through Quick Start using your modified CLI
|
||||||
- Open a PR when satisfied
|
- Open a PR when satisfied
|
||||||
- (Optional) Tag a release once changes land in `main`
|
- (Optional) Tag a release once changes land in `main`
|
||||||
|
|
||||||
---
|
|
||||||
Feel free to expand this guide with additional local workflows (debugging, profiling, test automation) as the project matures.
|
|
||||||
|
|||||||
Reference in New Issue
Block a user