These are instructions on how to run various Ailly components.
- Clone the repo and install dependencies
git clone https://github.com/davidsouther/ailly.git ; cd ailly ; npm install
- Compile the core module with
npx tsc -p core- Rerun this step for any edits in
core
- Rerun this step for any edits in
- Install ailly cli with
npm install -g ./cli - Set any environment variables for your engine
export OPENAI_API_KEY=sk-...export AILLY_ENGINE=bedrockdefault: openai, others depending on version.
- Run ailly with
npx aillycd content/33_dad_jokesnpx ailly .
- Optionally, create an alias to run ailly
- Directly with
alias ailly="$(PWD)/cli/index.js - For zsh:
echo "alias ailly='$(PWD)/cli/index.js'" >> ~/.zshrc - For bash:
echo "alias ailly='$(PWD)/cli/index.js'" >> ~/.bashrc - General *nix:
echo "alias ailly='$(PWD)/cli/index.js'" >> ~/.profile
- Directly with
This is powered by Next.js using App Router.
- Clone the repo, install dependencies, and duplicate the env file for local keys.
git clone https://github.com/davidsouther/ailly.git ; cd ailly ; npm install ; cp .env .env.local
- Start the project locally with
npm run dev --workspace packages/web- Default at http://localhost:3000
- Visit the
rootroute.- Follow guidance on Prompt Engineering
- Good luck!
- Run
npx tsc -w -p core - Start the
Run Ailly Extensiontask- Choose
tsx: watch - extension/tsconfig.json
- Choose
- When the new window appears, open a folder with your content.
- Ailly currently only works on the first folder in a workspace.
- In debug mode, Ailly disables other extensions and runs in a clean profile. Comment out the
"--profile-temp",line inlaunch.jsonto use your current VSCode profile instead. - WARNING: Ailly may prompt for your OpenAI API Key. If it does so, it will store the key in workspace settings for later access. Do not commit this key to source control!
- If you don't like that behavior, ensure you have
OPENAI_API_KEYset in your environment for VSCode. - Or send a PR with a better way to load the key safely.
- Right Click a file or folder -> Ailly: Generate
- Open a file -> Cmd+P -> Ailly: Generate
- Bump the versions with
npm version -ws [version]npm install -ws @ailly/core@^[version]npm un -w core @ailly/core
- Submit PR with only updated
package.jsonsgit switch -c release-[version]git commit --all --message 'Release [version]git push
- Tag merge pr with
v[version]. - Publish to NPM with
npm publish -w core -w cli - Prepare a new release in GitHub
- Add the built extension .vsix to the release.